我正在开发一个已经构建好的共享库。
当我运行cmake -C $ILCSOFT/ILCSoft.cmake时,输出在某一点上表示:
-- Check for FastJet (3.1.2)
-- Check for FastJet_LIBRARIES: fastjet
-- Check for FastJet_FASTJET_LIBRARY: /cvmfs/foo...bar/FastJet/3.1.2/lib/libfastjet.so -- ok
...
CMAKE_PREFIX_PATH =
-- /cvmfs/foo...bar/v01-17-09/FastJet/3.1.2;但是当我运行make install时,我的cc文件在#include "fastjet/ClusterSequence.hh"上失败了。
这意味着我没有正确设置我的cmake。现在,我正试图通过在我的CMakeLists.txt中执行以下操作来添加我的快速喷射依赖:
FIND_PACKAGE( FastJet )
LINK_LIBRARIES( FastJet_LIBRARY )没有抛出错误,但我不能导入我想要的东西。
我认为我不理解cmake,make和cpp的进口。有人能帮我吗?
如何将这个大型库导入到cmake中?
发布于 2018-01-25 00:23:39
如果它在包含阶段被阻塞,那么它就是找到包含目录,这是问题所在,而不是编译库的实际位置。在cmake文档中,尝试添加库头所在的位置。
include_directories将包含目录添加到构建。include_directories(之后再来 dir1 dir2 ...)将给定的目录添加到编译器用于搜索包含文件的目录中。相对路径被解释为相对于当前源目录。
https://unix.stackexchange.com/questions/419494
复制相似问题