g ++(Ubuntu/Linaro 4.5.2-8ubuntu4)4.5.2
我有一个名为sdpAPI.a的静态库
我正在尝试使用cmake将我的cpp文件链接到它.
我的CMakeLists.txt看起来像这样?
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(demo_project CXX)
IF(CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_C_FLAGS "-Wall -Wextra -Wunreachable-code -O0 -D_DEBUG -ggdb -m32")
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
INCLUDE_DIRECTORIES(sdpapi)
LINK_DIRECTORIES(~/projects/test_sdp/sdpapi)
SET(source_files main.cpp)
SET(libs sdpAPI)
ADD_EXECUTABLE(demo ${source_files})
TARGET_LINK_LIBRARIES(demo ${libs})
Run Code Online (Sandbox Code Playgroud)
我的sdpAPI.a位于此目录test_sdp/sdpapi/sdpAPI.a
我得到的错误如下:
[100%] Building CXX object CMakeFiles/demo.dir/main.cpp.o
Linking CXX executable demo
/usr/bin/ld: cannot find -lsdpAPI
collect2: ld returned 1 exit status
make[2]: *** [demo] Error 1
make[1]: *** [CMakeFiles/demo.dir/all] Error 2
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)
任何人都可以看到任何明显的我做错了.
ant*_*009 10
我应该重命名sdpAPI.a
为libsdpAPI.a
这解决了我的问题.一个愚蠢的错误,花了我3个小时.
希望这有助于其他人.
归档时间: |
|
查看次数: |
8720 次 |
最近记录: |