CMake找不到静态库
CMake始终更喜欢查找动态库而不是静态库:CMake找不到静态库,cmake,Cmake,CMake始终更喜欢查找动态库而不是静态库: find_library(SQLITE_LIBRARY sqlite3) message(STATUS "Sqlite found: ${SQLITE_LIBRARY}") ... -- Sqlite3 found: /usr/lib/x86_64-linux-gnu/libsqlite3.so 我使用的是Debian 7 wheezy,cmake2.8.9和sqlite3-dev软件包。 ls/usr/lib/x86_64-linux-gnu/|
find_library(SQLITE_LIBRARY sqlite3)
message(STATUS "Sqlite found: ${SQLITE_LIBRARY}")
...
-- Sqlite3 found: /usr/lib/x86_64-linux-gnu/libsqlite3.so
我使用的是Debian 7 wheezy
,cmake2.8.9
和sqlite3-dev
软件包。
ls/usr/lib/x86_64-linux-gnu/| grep sqlite3
:
libsqlite3.a
libsqlite3.la
libsqlite3.so
libsqlite3.so.0
libsqlite3.so.0.8.6
我试过在网上找到的各种方法。他们没有一个成功:
1. find_library(SQLITE_LIBRARY sqlite3.a)
2. find_library(SQLITE_LIBRARY libsqlite3.a)
3. set(CMAKE_LIBRARY_SUFFIXES .a)
find_library(SQLITE_LIBRARY sqlite3)
4. set(CMAKE_FIND_STATIC FIRST)
find_library(SQLITE_LIBRARY sqlite3)
有什么建议吗?谢谢。可能使用sqlite3命令正确检索版本:
find_program( SQLITE3_EXECUTABLE NAMES sqlite3DOC "Path to sqlite3 executable" )
execute_process( COMMAND ${SQLITE3_EXECUTABLE} -version OUTPUT_VARIABLE _SQLITE3_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE )
string( REGEX MATCH "^([0-9]+([.][0-9]+)*)([ \t].*)?$" SQLITE3_VERSION "${_SQLITE3_VERSION}" )
set( SQLITE3_VERSION "${CMAKE_MATCH_1}" CACHE STRING "Version of sqlite3 executable" )
find_library(SQLITE3_LIBRARIES sqlite3)