我在这里发帖是因为我认为 GROMACS 不会知道我的问题。我有 MacOS Big Sur 并下载了 Intel C/C++ 编译器,因为它应该让这个程序更快。我可以用 clang 和 GNU gcc 但不能用 Intel 编译。cmake 命令同时找到了feenableexcept/fedisableexcept,但是math/utilities.cpp
在制作程序期间使用其中一个 C++ 文件中的函数时,它会失败。请参阅下面的失败。它可能与这篇文章有关
-- Looking for feenableexcept in m
-- Looking for feenableexcept in m - found
-- Looking for fedisableexcept in m
-- Looking for fedisableexcept in m - found
失败:
/Users/brian/tools/gromacs-2021.4/src/gromacs/math/utilities.cpp(96): error: identifier "feenableexcept" is undefined
return feenableexcept(c_FPexceptions);
^
/Users/brian/tools/gromacs-2021.4/src/gromacs/math/utilities.cpp(125): error: identifier "fedisableexcept" is undefined
return fedisableexcept(c_FPexceptions);
^
这是我的 cmake 命令
cmake .. -DGMX_FFT_LIBRARY=mkl \
-DMKL_LIBRARIES="/opt/intel/oneapi/mkl/2021.4.0/lib" \
-DMKL_INCLUDE_DIR="/opt/intel/oneapi/mkl/2021.4.0/include" \
-DCMAKE_C_COMPILER=icc \
-DCMAKE_CXX_COMPILER=icpc \
-DCMAKE_OSX_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk \
-DCMAKE_OSX_DEPLOYMENT_TARGET=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk \
-DGMX_USE_TNG=OFF \
-DZLIB_LIBRARY=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib
这些是我在运行 cmake 之前设置的标志
CFLAGS="-syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk -L/opt/intel/oneapi/ipp/latest/lib -I/opt/intel/oneapi/compiler/2021.4.0/mac/compiler/include -I/opt/intel/oneapi/ipp/latest/include -MMD -MF -MP -lz -std=99 -lboost"
CXXFLAGS="-syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk -L/opt/intel/oneapi/ipp/latest/lib -I/opt/intel/oneapi/compiler/2021.4.0/mac/compiler/include -I/opt/intel/oneapi/ipp/latest/include -MMD -MF -MP -lz -std=99 -lboost"
export CPLUS_INCLUDE_PATH=/opt/intel/oneapi/compiler/2021.4.0/mac/compiler/include:/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include:/opt/intel/oneapi/ipp/latest/include
export C_INCLUDE_PATH=/opt/intel/oneapi/compiler/2021.4.0/mac/compiler/include:/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include:/opt/intel/oneapi/ipp/latest/include
export CPATH=/opt/intel/oneapi/compiler/2021.4.0/mac/compiler/include:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include:$(xcrun --show-sdk-path)/usr/include:/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include:/opt/intel/oneapi/ipp/latest/include
export LIBRARY_PATH=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib