c++ - 如何从 github 为 c++ 项目正确安装第三方库?

标签 c++ ubuntu dependencies static-libraries

我想使用这个库 https://github.com/zekyll/OMPEval在我的 C++ 项目中。我知道我必须克隆 repo,然后使用 make 来编译文件。但是,我不知道将其放置在哪个目录中才能使其按照作者演示的方式运行。作者示例:

#include <omp/HandEvaluator.h>
#include <iostream>
using namespace omp;
int main()
{
    HandEvaluator eval;
    Hand h = Hand::empty(); // Final hand must include empty() exactly once!
    h += Hand(51) + Hand(48) + Hand(0) + Hand(1) + Hand(2); // AdAs2s2h2c
    std::cout << eval.evaluate(h) << std::endl; // 28684 = 7 * 4096 + 12
}

如何使用演示的库?

最佳答案

这将取决于你如何编译你的项目,如果你使用 Visual Studio,那么你可以简单地将 .lib 文件添加到项目设置中的链接器设置中,并添加 include 目录到您的其他包含目录

如果您直接使用 GCC/Clang 或其他编译器,则必须显式地将参数传递给编译器,

clang++ main.cpp -I./path/to/include -llibrary_file

您可以使用 -L./.... 设置库文件的路径

由于您的问题被标记为 ubuntu,您通常可以通过 apt 安装库,但 OMPEval 似乎没有 apt 存储库。

编辑: 请注意 -L-I 标志中的 ./ 都是相对路径,删除 . 和你有一个绝对路径

关于c++ - 如何从 github 为 c++ 项目正确安装第三方库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57102671/

相关文章:

docker - SBT 未从根目录运行

r - 处理函数中的依赖项

c++ - 如何查看是否解决了所有数据结构依赖项?

c++ - Cuda NVCC 编译器 - 如何/showincludes?

c++ - 无法将 const 值发送到使用 operator[][] 的 operator+

java - 理解 Kadane 的二维数组算法

java - 在Java中引用dll

node.js - 如何将 32 位 node.js(8.5.0) 安装到 64 位 ubuntu(17.0)?

python - 当我手动终止特定的 .py 脚本时,如何仍然使用函数?

c# - 循环依赖和循环引用之间有什么区别,或者依赖和引用之间有什么区别?