簡體   English   中英

包括外部庫cmake

[英]Include external Library cmake

我想使用SQLAPI庫,我已將包含目錄中的所有文件復制到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)

我收到構建/鏈接器錯誤:找不到-llibsqlapi。

我也嘗試了target_link_libraries($ {PROJECT_NAME} sqlapi),但是它給了我額外的“跳過不兼容的//usr/local/lib/libsqlapi.so”(與.a相同),但是找不到-lsqlapi

好的,我將編輯更改為答案:

鏈接程序抱怨的原因是您以錯誤的方式指定了庫。 lib只是前綴-如果使用target_link_libraries ,則使用其余的庫名。 更改為

target_link_libraries(${PROJECT_NAME} sqlapi)

解決了這個問題。 您現在收到的錯誤

跳過不兼容的//usr/local/lib/libsqlapi.so

最有可能是由於您已從某個預構建包中復制了所有文件,並且與您的系統不兼容。 您需要自己重新編譯該庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM