为什么cmake找错了图书馆?

时间:2015-03-05 12:45:42

标签: c++ cmake

我有这段代码:

file(TO_CMAKE_PATH $ENV{LIBLAS_DIR} LIBLAS_DIR)
find_path(LIBLAS_INCLUDE_DIRS liblas/liblas.hpp PATHS ${LIBLAS_DIR}/include)
message(STATUS Value before finding= ${LIBLAS_LIBRARY_DEBUG})
find_library(LIBLAS_LIBRARY_DEBUG liblas HINT ${LIBLAS_DIR}/../build/bin/Debug)
message(STATUS Value after finding= ${LIBLAS_LIBRARY_DEBUG})

我正在为LIBLAS_LIBRARY_DEBUG

获取此值
Valuebeforefinding=
Valueafterfinding=C:/Local/LibLas/build/bin/Release/liblas.lib

我确信它没有从缓存中取出,因为我删除了构建目录,因为在调用find库之前你可以看到这个变量的值是空白的,所以它没有从缓存中获取它的值。

知道为什么cmake从错误的地方获得价值吗?

1 个答案:

答案 0 :(得分:1)

find_library调用中有错误:参数名称为HINTS,而不是HINT

find_library(LIBLAS_LIBRARY_DEBUG liblas HINTS ${LIBLAS_DIR}/../build/bin/Debug)