包含外部库 cmake
Include external Library cmake
我想使用 SQLAPI 库,我已将 include 目录中的所有文件复制到 usr/local/include/SQLAPI,并将 lib 目录中的所有文件复制到 usr/local/lib。 lib 文件名为 libsqlapi.a /libsqlapi.so 和 libsqlapiu.a /libsqlapiu.so .
我的 cmakeLists.txt 看起来像这样:
project(gsl_test)
cmake_minimum_required(VERSION 2.8)
SET(CMAKE_CXX_FLAGS "-std=c++0x")
aux_source_directory(. SRC_LIST)
include_directories(usr/local/include)
link_directories(usr/local/lib)
add_executable(${PROJECT_NAME} ${SRC_LIST})
target_link_libraries(${PROJECT_NAME} libsqlapi)
我收到 build/linker 错误:找不到 -llibsqlapi。
我也试过 target_link_libraries(${PROJECT_NAME} sqlapi),但它给了我额外的 "skipping incompatible //usr/local/lib/libsqlapi.so"
(与 .a 相同)无法找到 -lsqlapi
好的,我会将我的编辑更改为答案:
链接器抱怨的原因是您以错误的方式指定了库。 lib
只是前缀 - 如果您使用 target_link_libraries
则使用库名称的其余部分。更改为
target_link_libraries(${PROJECT_NAME} sqlapi)
解决了这个问题。您现在收到的错误
skipping incompatible //usr/local/lib/libsqlapi.so
很可能是因为您从某个预构建包中复制了所有文件,并且它与您的系统不兼容。需要自行重新编译库
我想使用 SQLAPI 库,我已将 include 目录中的所有文件复制到 usr/local/include/SQLAPI,并将 lib 目录中的所有文件复制到 usr/local/lib。 lib 文件名为 libsqlapi.a /libsqlapi.so 和 libsqlapiu.a /libsqlapiu.so .
我的 cmakeLists.txt 看起来像这样:
project(gsl_test)
cmake_minimum_required(VERSION 2.8)
SET(CMAKE_CXX_FLAGS "-std=c++0x")
aux_source_directory(. SRC_LIST)
include_directories(usr/local/include)
link_directories(usr/local/lib)
add_executable(${PROJECT_NAME} ${SRC_LIST})
target_link_libraries(${PROJECT_NAME} libsqlapi)
我收到 build/linker 错误:找不到 -llibsqlapi。
我也试过 target_link_libraries(${PROJECT_NAME} sqlapi),但它给了我额外的 "skipping incompatible //usr/local/lib/libsqlapi.so" (与 .a 相同)无法找到 -lsqlapi
好的,我会将我的编辑更改为答案:
链接器抱怨的原因是您以错误的方式指定了库。 lib
只是前缀 - 如果您使用 target_link_libraries
则使用库名称的其余部分。更改为
target_link_libraries(${PROJECT_NAME} sqlapi)
解决了这个问题。您现在收到的错误
skipping incompatible //usr/local/lib/libsqlapi.so
很可能是因为您从某个预构建包中复制了所有文件,并且它与您的系统不兼容。需要自行重新编译库