Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake测试程序找不到-lgcc_s_Cmake - Fatal编程技术网

Cmake测试程序找不到-lgcc_s

Cmake测试程序找不到-lgcc_s,cmake,Cmake,我将cmake与自定义GCC(带有共享库)一起使用,在cmake编译器测试期间,我遇到以下错误: The C compiler "/path/to/gcc/bin/gcc" is not able to compile a simple test program. ... /path/to/gcc/x86_64-unknown-linux-gnu/bin/ld: cannot find -lgcc_s 下面是一个简单的“testme.cpp”文件: 要使用自定义GCC进行构建,我将导出CX

我将cmake与自定义GCC(带有共享库)一起使用,在cmake编译器测试期间,我遇到以下错误:

The C compiler "/path/to/gcc/bin/gcc" is not able to compile a simple test program.
...
/path/to/gcc/x86_64-unknown-linux-gnu/bin/ld:
  cannot find -lgcc_s
下面是一个简单的“testme.cpp”文件:

要使用自定义GCC进行构建,我将导出CXX和CC:

export CXX=/path/to/gcc/bin/g++
export CC=/path/to/gcc/bin/gcc
然后点击:

cmake . 
make
结果是它找不到libgcc_.so,它位于“lib/gcc/x86_64-unknown-linux-gnu/lib64”文件夹中

但是,当我这样调用gcc时:

/path/to/gcc/bin/g++ testme.cpp -L/path/to/gcc/lib/gcc/x86_64-unknown-linux-gnu/lib64
它编译成功。我试图将它添加到LD_LIBRARY_PATH,但似乎没有帮助

那么,有没有办法将库路径传递给CMake编译器检查



Chrono Kitsune是对的/path/to/gcc/x86_64-unknown-linux-gnu/bin/ld是使用“-enable shared”和不在系统搜索路径中的库构建的。

如果编译器构建正确,则不需要在编译行中将内部gcc目录显式添加到库搜索路径,因为gcc应该已经自动知道如何添加该目录。这一点,再加上“无法编译”错误消息,使我怀疑是错误的构建或不正确的配置。另外,您确定在直接编译时libgcc_.so是链接的吗<如果共享库被链接,code>ldd将列出它。ldd显示它使用libgcc_.so,尽管它指向不同文件夹中的libgcc_.so。我如何知道编译器配置错误或构建不正确?我使用以下配置选项来构建GCC“前缀= /PATT/OT/GCC——Enabele64位-ababy32位-启用语言C,C++ -启用多个LIB -禁用NLS -启用线程= POSIX启用启动检查=释放-启用LTO -启用版本特定运行时LIBS -启用共享-启用多拱-多Mulb列表= M32,M64,MX32 -用曲调=通用“。当我构建它时,请确保检查无误通过。
cmake . 
make
/path/to/gcc/bin/g++ testme.cpp -L/path/to/gcc/lib/gcc/x86_64-unknown-linux-gnu/lib64