也许这是一个天真的问题 - 但有没有办法构建/安装yaml-cpp,以便在构建包含yaml.h的项目时不需要使用Boost库头?
IE:我正在开发一个使用yaml-cpp结构和解析的项目。在系统上它将部署在我没有安装Boost(没有库或标头)。在具有Boost的系统上构建所述项目没有问题 - 但是当在没有Boost头的系统上构建时,它会失败,因为yaml-cpp直接包含Boost头。
cmake输出:
/yaml_install_path/include/yaml-cpp/node/ptr.h", line 10: catastrophic error:
cannot open source file "boost/shared_ptr.hpp"
#include <boost/shared_ptr.hpp>
有没有办法解决在系统某处手动安装该头文件的问题?我希望能够解决这个问题,以便yaml-cpp可以在其他项目中链接(和使用),而不依赖于Boost。如果可能的话,我宁愿完全不依赖Boost。
提前致谢 - 希望有一个干净的解决方案,我只是错过了一些简单的事情。 :)
答案 0 :(得分:3)
不,那是不可能的。但是,yaml-cpp确实有一个单独的分支,版本0.3.x,它使用旧的API而不依赖于Boost。