为什么cmake找不到错误的库?
why cmake find the wrong library?
我有这个代码:
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
我确定它没有从缓存中获取,因为我删除了构建目录,正如您所看到的,在调用查找库之前该变量的值为空,因此它没有从缓存中获取它的值。
知道为什么 cmake 从错误的地方获取它的值吗?
您在 find_library
调用中出错:参数名称是 HINTS
,而不是 HINT
:
find_library(LIBLAS_LIBRARY_DEBUG liblas HINTS ${LIBLAS_DIR}/../build/bin/Debug)
我有这个代码:
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
我确定它没有从缓存中获取,因为我删除了构建目录,正如您所看到的,在调用查找库之前该变量的值为空,因此它没有从缓存中获取它的值。
知道为什么 cmake 从错误的地方获取它的值吗?
您在 find_library
调用中出错:参数名称是 HINTS
,而不是 HINT
:
find_library(LIBLAS_LIBRARY_DEBUG liblas HINTS ${LIBLAS_DIR}/../build/bin/Debug)