Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A YAML parser and emitter in C++

License

NotificationsYou must be signed in to change notification settings

jbeder/yaml-cpp

Repository files navigation

yaml-cpp is aYAML parser and emitter in C++ matching theYAML 1.2 spec.

Usage

SeeTutorial andHow to Emit YAML for reference. For the old API (until 0.5.0), seeHow To Parse A Document.

Any Problems?

If you find a bug, post anissue! If you have questions about how to use yaml-cpp, please post it onhttp://stackoverflow.com and tag ityaml-cpp.

How to Build

yaml-cpp usesCMake to support cross-platform building. InstallCMake(Resources -> Download) before proceeding. The basic steps to build are:

Note: If you don't use the provided installer for your platform, make sure that you addCMake's bin folder to your path.

1. Navigate into the source directory, create build folder and runCMake:

mkdir buildcd buildcmake [-G generator] [-DYAML_BUILD_SHARED_LIBS=on|OFF] ..
  • Thegenerator option is the build system you'd like to use. Runcmake without arguments to see a full list of available generators.

    • On Windows, you might use "Visual Studio 12 2013" (VS 2013 32-bits), or "Visual Studio 14 2015 Win64" (VS 2015 64-bits).
    • On OS X, you might use "Xcode".
    • On a UNIX-like system, omit the option (for a Makefile).
  • yaml-cpp builds a static library by default, you may want to build a shared library by specifying-DYAML_BUILD_SHARED_LIBS=ON.

  • Debug mode of the GNU standard C++librarycan be used when bothyaml-cpp and client code is compiled with the_GLIBCXX_DEBUG flag (e.g. by calling CMake with-D CMAKE_CXX_FLAGS_DEBUG='-g -D_GLIBCXX_DEBUG' option).

    Note that foryaml-cpp unit tests to run successfully, theGoogleTestlibrary also must be built with this flag, i.e. the system one cannot beused (theYAML_USE_SYSTEM_GTEST CMake option must beOFF, which is thedefault).

  • For more options on customizing the build, see theCMakeLists.txt file.

2. Build it!

  • The command you'll need to run depends on the generator you chose earlier.

Note: To clean up, just remove thebuild directory.

How to Integrate it within your project using CMake

You can use for example FetchContent :

include(FetchContent)FetchContent_Declare(  yaml-cpp  GIT_REPOSITORY https://github.com/jbeder/yaml-cpp.git  GIT_TAG <tag_name># Can be a tag (yaml-cpp-x.x.x), a commit hash, or a branch name (master))FetchContent_MakeAvailable(yaml-cpp)target_link_libraries(YOUR_LIBRARYPUBLIC yaml-cpp::yaml-cpp)# The library or executable that require yaml-cpp library

Recent Releases

yaml-cpp 0.8.0 released!

yaml-cpp 0.3.0 is still available if you want the old API.

The old API will stop receiving bugfixes in 2026. The 0.3.x versions provide the old API, and 0.5.x and above all provide the new API.

API Documentation

The autogenerated API reference is hosted onCodeDocs

Third Party Integrations

The following projects are not officially supported:

About

A YAML parser and emitter in C++

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp