繁体   English   中英

如何将开源库包含到 C++ 项目中?

[英]How to include an open source library into C++ project?

我正在尝试在我的项目中使用一个开源库,特别是这里的这个。

我已遵循安装指南并在全球范围内安装了它

sudo cmake --build "build" --config Release --target install

我可以看到该库安装在/usr/local/lib中,现在回到我自己的 C++ 代码

#include <benchmark/benchmark.h>

如指令所示仍然没有 go 错误

'benchmark/benchmark.h' file not found

那么是否缺少任何步骤?

/usr/local/lib我有:

libbenchmark.a
libbenchmark_main.a

/usr/local/include我有:

benchmark

我没有在我的 XCode 项目中使用 CMake。

-------------- 分割 ------------

在挖掘了这里的问题之后。

我将此/usr/local/includeHeader Search Paths中,如下所示。

在此处输入图像描述

然后我尝试了

#include "benchmark/benchmark.h" // I tried <benchmark/benchmark.h> as well

但这导致直接构建失败并出现错误

Undefined symbols for architecture x86_64:
  "benchmark::internal::InitializeStreams()", referenced from:
      ___cxx_global_var_init in main.o
ld: symbol(s) not found for architecture x86_64

感谢大家的帮助,我终于弄明白了。

Go 在 Xcode 中build settings并添加 header 和库搜索路径

在此处输入图像描述

然后 go 到linking ,添加链接器,就我而言,它看起来像这样

在此处输入图像描述

假设您的项目也使用cmake ,您的CMakeLists.txt应该包含如下内容:

find_package(benchmark REQUIRED)

add_executable(YouLibBenchamrkTarget sources1.cpp ...)
target_link_libraries(YouLibBenchamrkTarget YourLibraryTarget benchmark::benchmark)

这应该解决包含和链接问题的问题(您没有指定问题的实际性质)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM