【发布时间】:2020-05-05 16:09:55
【问题描述】:
我对整个 CMake 逻辑和语法很陌生。对于我正在处理的代码,我需要使用 cap_set_proc 函数来处理进程功能标志 (man link)。所以我决定从你在这里看到的一段非常愚蠢的代码开始:
#include<iostream>
#include<string>
#include<sys/capability.h>
using namespace std;
int main(){
cap_t test = cap_get_proc();
string whatsTest(cap_to_text(test,nullptr));
cout<<whatsTest<<endl;
return 0;
}
(目前,我不在乎我写的代码是否有意义......)
现在,如果我简单地使用c++(如下所示),一切都可以正常编译,并且可执行文件可以毫无问题地运行:
c++ test_main.cpp -o test_cap -lcap
问题是我正在处理的项目非常庞大,并且非常依赖 CMake。所以我想编译相同的代码,但使用 CMake... 如何编写 CMakeLists.txt 文件,让我获得与前几行中显示的编译器指令相同的结果?
【问题讨论】: