Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CMake找不到静态库_Cmake - Fatal编程技术网

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/|

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/| 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)