在Windows或是Linux上使用CMake编译某些源码时,会出现 find_library 找不到 .lib 库 的情况
这个时候就需要检查一下 .lib 的库 是否在指定的库目录里存在,此时可以用 message 命令把相关的参数打印出来看看
MESSAGE的用法如下
MESSAGE([SEND_ERROR | STATUS | FATAL_ERROR] “message to display”…)
比如,打印 出 库的 搜寻目录 CMAKE_LIBRARY_PATH 以确定路径正确,
message("CMAKE_LIBRARY_PATH = ${CMAKE_LIBRARY_PATH}")
如果路径正确,且库也存在,此时可以再查看 查找库的规则,即库的前缀和后缀情况
message("CMAKE_FIND_LIBRARY_PREFIXES = ${CMAKE_FIND_LIBRARY_PREFIXES }")
message("CMAKE_FIND_LIBRARY_SUFFIXES = ${CMAKE_FIND_LIBRARY_SUFFIXES }")
根据自己实际库的前后缀情况来在查找前进行设置
比如
SET (CMAKE_FIND_LIBRARY_PREFIXES "")
SET (CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".LIB" ".dll" ".DLL")
或
SET (CMAKE_FIND_LIBRARY_PREFIXES "lib")
SET (CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
等等