如何在我的 CMakelists.txt 中链接 yaml-cpp?

Posted

技术标签:

【中文标题】如何在我的 CMakelists.txt 中链接 yaml-cpp?【英文标题】:How do I link yaml-cpp in my CMakelists.txt? 【发布时间】:2016-10-11 04:47:07 【问题描述】:

所以我目前有一个看起来像这样的项目结构,并且每个目录下都有一个 cmakelists.txt:

/app
    /source
          /myApp
                /<file where I want to use yaml-cpp/yaml.h>
          /lib
              /yaml-parser(yaml-cpp)

当我用完没有提及 yaml-cpp 的源构建时,它编译整个目录没有问题(已编译提供的 yaml-cpp 的示例)。但是,当我尝试添加“yaml-cpp/yaml.h”时,编译器说没有这样的文件或目录。我想知道我在哪里以及如何链接我的项目和 yaml-cpp。我目前还没有对 yaml-cpp cmakelists.txt https://github.com/jbeder/yaml-cpp进行任何更改@

【问题讨论】:

【参考方案1】:

你应该 add_subdirectory 到你的根 CMakeLists.txt 并构建 yaml-cpp 目标。然后你就可以链接w/它了。只需将yaml-cpp 添加到二进制文件的target_link_libraries 列表中即可。

【讨论】:

以上是关于如何在我的 CMakelists.txt 中链接 yaml-cpp?的主要内容,如果未能解决你的问题,请参考以下文章

在 CMakeLists.txt 中添加 FLTK 库

CMake 从 CMakeLists.txt 脚本中获取缓存变量列表

从父 CMakeLists.txt 覆盖 CMake 中的默认选项(...)值

在 CMakeLists.txt 中链接 GSL

CMake条件库链接取决于平台

更改 CLion 中的默认 CMakeLists.txt 以包含警告