繁体   English   中英

找不到库 header CMake

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM