[英]Can't find library header CMake
我正在将 admesh 库导入到我的 cmake 项目中,我已按照 admesh 根目录中文件的安装说明进行操作,并将其复制到usr/local/include
/ usr/local/lib
中。 所以,我在我的 CMakeList 中添加了这个:
find_path(ADMESH_INCLUDE_DIR stl.h HINTS "/usr/local/include/admesh")
FIND_LIBRARY(ADMESH_LIBRARY NAMES admesh)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ADMESH DEFAULT_MSG ADMESH_LIBRARY ADMESH_INCLUDE_DIR)
IF(ADMESH_FOUND)
message("admesh found")
SET( ADMESH_LIBRARIES ${ADMESH_LIBRARY} )
ENDIF(ADMESH_FOUND)
include_directories(${ADMESH_INCLUDE_DIR})
target_link_libraries(project PRIVATE admesh ${ADMESH_LIBRARIES})
但是当我尝试构建它时给我这个错误:
fatal error: 'admesh/stl.h' file not found
#include <admesh/stl.h>
^~~~~~~~~~~~~~
1 error generated.
它打印admesh found
所以我认为我的 CMakeList 有问题。 我该如何解决?
应该
find_path(ADMESH_INCLUDE_DIR admesh/stl.h HINTS "/usr/local/include")
或者
find_path(ADMESH_INCLUDE_DIR admesh HINTS "/usr/local/include")
通常/usr/local/include
在系统搜索包含路径中,因此可以删除直到arget_link_libraries(project PRIVATE admesh)
的所有行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.