Cmake测试程序找不到-lgcc_s

时间:2014-09-22 21:29:57

标签: 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”文件:

#include <iostream>

int main( int argc, char * argv[] ) {
  std::cout << "Hello world" << std::endl;
  return 0;
}

这是一个CMakeLists.txt:

cmake_minimum_required(VERSION 2.6.2)
project(testme)
file( GLOB  srcs "testme.cpp" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -Wall -std=c++11")
set(CMAKE_LDFLAGS "${CMAKE_LDFLAGS} -L/path/to/gcc/lib/gcc/x86_64-unknown-linux-gnu/lib64")
add_executable(testme ${srcs})

使用我的自定义GCC构建我正在导出CXX和CC:

export CXX=/path/to/gcc/bin/g++
export CC=/path/to/gcc/bin/gcc

然后点击:

cmake . 
make

结果是它找不到libgcc_s.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”构建的,而库则不在系统搜索路径中。< / p>

0 个答案:

没有答案