我有一个使用libnuma库的项目C ++。因为我没有权限在根系统中安装libnuma,所以我必须将它安装在user:/ home / khangtg / opt的文件夹中。此文件夹包含2个主文件夹:
现在,我有一个文件.cpp包含libnuma库:
#include <numa.h>
我用文件CMakeLists.txt构建项目,内容为:
add_library (common Bigraph.cpp AdjList.cpp Vocab.cpp NumaArray.cpp clock.cpp)
set (LINK_LIBS ${LINK_LIBS} common gflags numa )
add_executable (warplda main.cpp lda.cpp warplda.cpp)
add_executable (format format.cpp)
target_link_libraries (warplda ${LINK_LIBS})
target_link_libraries (format ${LINK_LIBS})
运行cmake命令后,我收到一些错误,即#34;不能包含numa.h&#34;。
那么,我如何修复此错误并通过cmake构建项目。非常感谢!
答案 0 :(得分:1)
您要将link_directories
设置为包含库的目录。可以找到更多in the cmake docs。这告诉链接器在哪里寻找库。
应该看起来像这样
link_directories(/home/khangtg/opt/lib)
还要添加this documentation中的include directories命令。 这看起来像这样
include_directories(/home/khangtg/opt/include)
答案 1 :(得分:0)
这可能对添加到您的cmake构建文件很有用:
include_directories("/home/khangtg/opt/include")
您可能还想将包含更改为:
#include "numa.h"