Одно решение, если вы используете cmake
, вы можете использовать vcpkg
, установив его как задокументированный, а затем vcpkg install yaml-cpp
.
после в вашем CMakeLists.txt
вы можете добавить:
find_package(yaml-cpp CONFIG REQUIRED)
### your other config here ...
### ...
target_link_libraries(main PRIVATE yaml-cpp) #main is your executable target's name
после этого в вашем "main. cpp" этого будет достаточно, например:
#pragma warning(push)
#pragma warning(disable: 4996)
#pragma warning(disable: 4251)
#pragma warning(disable: 4275)
#include <yaml-cpp/yaml.h>
#pragma warning(pop)
#include <fstream>
#include <filesystem> // this is C++17, just foe eg to save a YAML file.
namespace fs = std::filesystem;
int main() {
fs::path pf = "file.yaml"; // you can use std::string as well
std::ofstream wf(pf, std::ios::binary | std::ios::out);
if (!wf.is_open()) {
return 1;
}
int values[] = {1, 2, 3, 4};
YAML::Emitter out(wf);
out << YAML::BeginMap;
out << YAML::Key << "MyKey" << YAML::Value << YAML::BeginSeq;
for (auto& v : values) {
out << v;
}
out << YAML::EndSeq << YAML::EndMap;
wf.close();
if (!wf.good()) {
return 1;
}
return 0;
}
Примечание: #pragma warning(...)
предназначены для отключения некоторые предупреждения связаны, поэтому необязательны.
Этого должно быть достаточно, чтобы использовать в качестве примера "quicksart".