TestCxCompiler中的CMake集库搜索路径失败

TestCxCompiler中的CMake集库搜索路径失败,cmake,library-path,Cmake,Library Path,我构建了自己的GCC和库,并将这些库放在/opt/GCC-4.6.2/lib中,因此像libstdc++这样的通用名库不会干扰系统的其他部分。这意味着我必须手动指定库搜索路径: $> g++-4.6.2 -L/opt/gcc-4.6.2/lib input.cpp 当我试图用CMake构建我的项目时,我似乎不知道如何让CMake搜索该库。说明使用CMAKE\u LIBRARY\u路径,我在用于生成Makefiles的行上设置该路径: $> cmake .. -DCMAKE_CXX_

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

$> g++-4.6.2 -L/opt/gcc-4.6.2/lib input.cpp
当我试图用CMake构建我的项目时,我似乎不知道如何让CMake搜索该库。说明使用
CMAKE\u LIBRARY\u路径
,我在用于生成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发出测试编译所需的巫毒魔法(我知道,
CMake\u LIBRARY\u PATH
在项目建成后起作用)。如何强制CMake使用替代库路径链接测试可执行文件?

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

另外,
CMAKE\u LIBRARY\u PATH
对您的问题没有帮助,因为它只为CMAKE而不是编译器设置库搜索路径

因此,除了将
CMAKE_CXX_标志
CMAKE_EXE_LINKER_标志
设置为
-L/opt/gcc-4.6.2/lib
,我看不到任何其他方法