我使用libnuma库有一个c 。因为我无权在根系中安装libnuma,所以我必须将其安装在用户文件夹中:/home/khangtg/opt。该文件夹包含2个主要文件夹:
- 文件夹包括包含:numAcompat1.h,numa.h,numaif.h
- 文件夹 lib 包含:libnuma.a,libnuma.la,libnuma.so,libnuma.so.so.1,libnuma.so.1.0.0.0
现在,我有一个文件.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命令后,我会得到一些错误,即"不能包括numa.h"。
因此,如何解决此错误并通过CMAKE构建项目。非常感谢!
您要设置link_directories
以包括库的目录。在CMAKE文档中可以找到更多。这告诉链接器在哪里寻找库。
它可能看起来像这样
link_directories(/home/khangtg/opt/lib)
还添加本文档中的Include Directories命令。这看起来像这样
include_directories(/home/khangtg/opt/include)
这对于添加到您的cmake build File可能很有用:
include_directories("/home/khangtg/opt/include")
来自:cmake教程
您可能还需要更改包含:
#include "numa.h"