1

我正在尝试在 Mac OS X 10.6.8 上构建Trilinos库,基本上遵循此页面上的说明和Trilinos 随附的CMake 快速入门文档。

为了使用 CMake 构建它,说明建议设置一个目录,例如 /usr/local/trilinos,在其中创建一个 ./do-configure 脚本并运行它。我的脚本是:

EXTRA_ARGS=$@

cmake \
    -D CMAKE_BUILD_TYPE:STRING=DEBUG \
    -D Trilinos_ENABLE_TESTS:BOOL=ON \
    $EXTRA_ARGS \
    ${TRILINOS_HOME}

运行此脚本会启动配置,直到出现错误。详细输出可以在这里找到:http: //pastebin.com/abrEghD7

我认为消息的相关部分是:

-- 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 编译器,并将 OS X 的 C++ 编译器用于整个项目。据我所知,两个编译器都能正常工作。

谁能猜出可能出了什么问题?

编辑:似乎这是一些兼容性问题,而不是个别编译器的问题。

4

2 回答 2

1

当我编译 paraview. 我将我的 CXX 编译器设置为g++而不是c++像 cmake 那样的标准。因为否则我会看到类似的错误。

于 2012-03-29T09:57:15.070 回答
1

你从哪里得到 gfortran 的?大多数来源的构建不支持特定于 mac 的扩展,例如-arch这可能会在尝试将它们结合起来时出现问题。或者它们可能只是不同的版本(如果您的 gfortran 比您的 g++ 新得多,他们可能会尝试引入不兼容的运行时版本)。

在数字 python 社区(很大程度上依赖于 fortran)中,OS X 的推荐源是来自here的二进制文件。这与 XCode gcc 版本相匹配,并支持 Mac 特定的扩展。

于 2012-05-06T12:02:08.377 回答