Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 连接Yaml cpp和犰狳共享库的CMake项目_C++_Cmake_Armadillo_Yaml Cpp - Fatal编程技术网

C++ 连接Yaml cpp和犰狳共享库的CMake项目

C++ 连接Yaml cpp和犰狳共享库的CMake项目,c++,cmake,armadillo,yaml-cpp,C++,Cmake,Armadillo,Yaml Cpp,我在Linux(Leap42.3)上工作。我想编写一个CMakeList.txt文件,创建包含代码的共享库,以及yaml cpp和犰狳库,以便在其他代码中使用。因此: 首先从各自的软件包和CMakeList.txt文件中分别编译和安装Yaml cpp和Armadillo,还是从我的CMake项目中一起编译所有内容 当时我采用了第二种方法,但如果我使用nm或ldd,我的库与yaml或犰狳的链接都不好 我的项目结构如下: 在“上层”中,我有: 在“中层”,我有: 最后,在“内在层面”,我有: 那

我在Linux(Leap42.3)上工作。我想编写一个CMakeList.txt文件,创建包含代码的共享库,以及yaml cpp和犰狳库,以便在其他代码中使用。因此:

  • 首先从各自的软件包和CMakeList.txt文件中分别编译和安装Yaml cpp和Armadillo,还是从我的CMake项目中一起编译所有内容
当时我采用了第二种方法,但如果我使用nm或ldd,我的库与yaml或犰狳的链接都不好

我的项目结构如下:

在“上层”中,我有:

在“中层”,我有:

最后,在“内在层面”,我有:


那么,遗漏了什么?如何将Yaml cpp和犰狳共享库合并到我的库中?谢谢。

通常,CMake find命令,如
find\u包(需要Yaml)
设置变量,如
Yaml\u库
。有关详细信息,请参阅源代码
FindYAML.cmake

要链接YAML共享库,请使用以下变量:

target_link_libraries(myproject ${YAML_LIBRARIES})

通常,CMake find命令(如
find\u-package(需要Yaml)
设置变量(如
Yaml\u库)
)。有关详细信息,请参阅源代码
FindYAML.cmake

要链接YAML共享库,请使用以下变量:

target_link_libraries(myproject ${YAML_LIBRARIES})

<> P>使用Conan www.conan.io,C++开发人员应该开始使用包管理器。然后您可以在conanfile.txt中定义

[requires]
armadillo/7.950.1@*****/stable
yaml-cpp/0.5.3@moonforged/stable

[generators]
cmake

犰狳软件包目前不在柯南库中,我有自己的版本,还没有发布

< p>最好使用Conan www.conan.io,C++开发者应该开始使用包管理器。然后您可以在conanfile.txt中定义

[requires]
armadillo/7.950.1@*****/stable
yaml-cpp/0.5.3@moonforged/stable

[generators]
cmake
Armadillo的软件包目前不在柯南存储库中,我有自己的版本,尚未发布

[requires]
armadillo/7.950.1@*****/stable
yaml-cpp/0.5.3@moonforged/stable

[generators]
cmake