CMake set 库搜索路径在 testCXXCompiler 中失败



我构建了自己的GCC和库,并将库放在/opt/gcc-4.6.2/lib中,以便像libstdc++这样通用命名的库不会干扰系统的其他部分。 这意味着我必须手动指定库搜索路径:

$> g++-4.6.2 -L/opt/gcc-4.6.2/lib input.cpp

当尝试让我的项目使用 CMake 构建时,我似乎无法弄清楚如何告诉 CMake 搜索该库。文档说要使用CMAKE_LIBRARY_PATH,我在用于生成Makefiles的行上设置了该行:

$> cmake .. -DCMAKE_CXX_COMPILER=g++-4.6.2 
            -DCMAKE_LIBRARY_PATH=/opt/gcc-4.6.2/lib

但是,这在简单的程序编译测试中失败:

# blah blah blah...
/usr/local/bin/g++-4.6.2
CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec
-rdynamic
/usr/bin/ld: cannot find -lstdc++
# blah blah blah...

我似乎找不到让 CMake 发出测试编译-L/opt/gcc-4.6.2/lib所需的巫毒魔法(我知道CMAKE_LIBRARY_PATH在项目构建有效(。如何强制 CMake 使用备用库路径来链接测试可执行文件?

嗯,我不熟悉 gcc 如何构建自己,但我想它应该知道在哪里搜索它的库。也许你应该尝试交叉编译。

此外,CMAKE_LIBRARY_PATH不会帮助您解决问题,因为它仅为 CMake 设置库搜索路径,而不是编译器。

所以,除了将CMAKE_CXX_FLAGSCMAKE_EXE_LINKER_FLAGS设置为-L/opt/gcc-4.6.2/lib之外,我没有看到任何其他方法。

相关内容

  • 没有找到相关文章

最新更新