我有这段代码:
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从错误的地方获得价值吗?
答案 0 :(得分:1)
find_library
调用中有错误:参数名称为HINTS
,而不是HINT
:
find_library(LIBLAS_LIBRARY_DEBUG liblas HINTS ${LIBLAS_DIR}/../build/bin/Debug)