C++ 在Mac OS X上构建Trilinos(科学计算库)时遇到问题
我试图在MacOSX10.6.8上构建这个库,基本上遵循Trilinos上的说明以及Trilinos附带的说明 为了使用CMake构建它,说明建议设置一个目录,例如/usr/local/trilinos,在其中创建一个/do configure脚本并运行它。我的剧本是:C++ 在Mac OS X上构建Trilinos(科学计算库)时遇到问题,c++,macos,fortran,scientific-computing,trilinos,C++,Macos,Fortran,Scientific Computing,Trilinos,我试图在MacOSX10.6.8上构建这个库,基本上遵循Trilinos上的说明以及Trilinos附带的说明 为了使用CMake构建它,说明建议设置一个目录,例如/usr/local/trilinos,在其中创建一个/do configure脚本并运行它。我的剧本是: EXTRA_ARGS=$@ cmake \ -D CMAKE_BUILD_TYPE:STRING=DEBUG \ -D Trilinos_ENABLE_TESTS:BOOL=ON \ $EXTRA_AR
EXTRA_ARGS=$@
cmake \
-D CMAKE_BUILD_TYPE:STRING=DEBUG \
-D Trilinos_ENABLE_TESTS:BOOL=ON \
$EXTRA_ARGS \
${TRILINOS_HOME}
运行此脚本将启动配置,直到出现错误。详细输出可在此处找到:
我认为信息的相关部分是:
-- Verifying Fortran/CXX Compiler Compatibility - Failed
CMake Error at /usr/local/Cellar/cmake/2.8.7/share/cmake/Modules/FortranCInterface.cmake:284 (message):
The Fortran compiler:
/usr/local/bin/gfortran
and the CXX compiler:
/usr/bin/c++
failed to compile a simple test project using both languages. The output
was:
<>但是,我不能解释为什么脚本会责怪FORTRAN和C++编译器。我用“Hello World”测试FORTRAN编译器,并使用OSX的C++编译器来完成整个项目。据我所知,这两个编译器都工作正常
有人能猜出可能出了什么问题吗
编辑:这似乎是一些兼容性问题,而不是独立编译器的问题。当我编译paraview时。我将CXX编译器设置为
g++
,而不像cmake那样设置为标准的c++
。因为否则我会看到类似的错误。你从哪里得到gfortran的?大多数源代码的版本不支持mac特定的扩展,如-arch
,这可能会导致在尝试将两者结合起来时出现问题。或者,它们可能只是不同的版本(如果您是gfortran,它可能比您的g++更新得多,那么它们可能试图引入不兼容的运行时版本)
在numerical python社区中(这在很大程度上依赖于fortran),OSX的推荐源代码是来自的二进制代码。这与XCode gcc版本相匹配,并支持Mac特定的扩展。我通过在
do configure
脚本中设置一个选项,尝试了g++
。错误保持不变。是否检查它是否显示和CXX编译器:/usr/bin/g++
?是。它说:--检查工作的CXX编译器:/usr/bin/g++--检查工作的CXX编译器:/usr/bin/g++--工作--验证Fortran/CXX编译器兼容性--在/usr/local/cella/CMake/2.8.7/share/CMake/Modules/FortranCInterface处出现失败的CMake错误。CMake:284(消息):Fortran编译器:/usr/local/bin/gfortran和CXX编译器:/usr/bin/g++未能使用这两种语言编译简单的测试项目。