在构建CMake时使用非默认的libstdc ++?

时间:2014-11-11 17:59:30

标签: c++ cmake

我试图在RedHat 6.4上编译cmake-3.1.0-rc1。我在/ usr / local下构建并安装了gcc / g ++ 4.7.4,但是CMake的bootstrap步骤失败并出现以下错误:

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by $HOME/src/cmake-3.1.0-rc1/build/Bootstrap.cmk/cmake)

事实上,/usr/lib64/libstdc++.so.6处的文件并不包含GLIBCXX_3.4.15,但我不希望CMake使用该文件。我希望它使用/usr/local/lib/libstdc++.so.6处的GLIBCXX_3.4.15,其中包含strings /usr/local/lib/libstdc++.so.6 | grep GLIBCXX(由.so证明)。

有没有办法让引导的CMake使用/usr/local而不是/usr/lib64下的/usr/local/lib64?理想情况下,它会是某种环境变量或CMake标志,因为我不想修改CMake源附带的CMakeLists文件。

修改:我的路径错了。它实际上应该是{{1}}。

1 个答案:

答案 0 :(得分:4)

设置并导出环境变量 LD_LIBRARY_PATH 并将其指向/ usr / local / lib(如果已经将该dir放在前面)。