How to read YAML / use "yaml-cpp" with C++Builder?

271 views Asked by At

I am using Embarcadero C++Builder v10.4 with a C++ VCL application.

I need to read YAML, and the most referenced API is "yaml-cpp".

What I am asking for is help or guidance on what I have to do to be able to use yaml-cpp.

So far, I have been able to solve my tasks by integrating headers and also DLLs. For the integration of the API, I feel there is a lack of knowledge that that I need to fill.

How do I create the Makefiles correctly for Embarcadero? What should I get after make, and how do I tie it in?

What I tried so far:

I tried to build it like it is described on GitHub and create some Borland Makefiles.

I believe I have to make the build, but I get an error after 2%. I read Using CMake with C++ Builder and created the makefiles with the example in the end of "Building using CMake". But I get an error after 94% when trying to make.

I have the feeling that I am doing something generally wrong.

I am very grateful for any help.

Last Error CMake with Rad Studio console:

C:\git\Temp\yaml-cpp-master\build>cmake -DCMAKE_C_COMPILER=bcc32x.exe -DCMAKE_CXX_COMPILER=bcc32x.exe -DCMAKE_BUILD_TYPE_INIT=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -G "Borland Makefiles" ..

-- The CXX compiler identification is Embarcadero 7.50.37590
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Embarcadero/Studio/21.0/bin/bcc32x.exe - skipped
-- Configuring done (2.0s)
-- Generating done (0.3s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_C_COMPILER


-- Build files have been written to: C:/git/Temp/yaml-cpp-master/build

C:\git\Temp\yaml-cpp-master\build>make
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
        "C:\Program Files\CMake\bin\cmake.exe" -P C:\git\Temp\yaml-cpp-master\build\CMakeFiles\VerifyGlobs.cmake
        "C:\Program Files\CMake\bin\cmake.exe" -SC:\git\Temp\yaml-cpp-master -BC:\git\Temp\yaml-cpp-master\build --check-build-system CMakeFiles\Makefile.cmake 0
        "C:\Program Files\CMake\bin\cmake.exe" -E cmake_progress_start C:\git\Temp\yaml-cpp-master\build\CMakeFiles C:\git\Temp\yaml-cpp-master\build\\CMakeFiles\progress.marks
        make  -f CMakeFiles\Makefile2 -l -o  all
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
        make  -f CMakeFiles\yaml-cpp.dir\build.make -l -o  CMakeFiles\yaml-cpp.dir\depend
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
        "C:\Program Files\CMake\bin\cmake.exe" -E cmake_depends "Borland Makefiles" C:\git\Temp\yaml-cpp-master C:\git\Temp\yaml-cpp-master C:\git\Temp\yaml-cpp-master\build C:\git\Temp\yaml-cpp-master\build C:\git\Temp\yaml-cpp-master\build\CMakeFiles\yaml-cpp.dir\DependInfo.cmake --color=
        make  -f CMakeFiles\yaml-cpp.dir\build.make -l -o  CMakeFiles\yaml-cpp.dir\build
MAKE Version 5.43  Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
[  2%] Building CXX object CMakeFiles/yaml-cpp.dir/src/contrib/graphbuilder.cpp.obj
        C:\PROGRA~2\EMBARC~1\Studio\21.0\bin\bcc32x.exe -DYAML_CPP_STATIC_DEFINE @CMakeFiles/yaml-cpp.dir/includes_CXX.rsp -Wall -Wextra -Wshadow -Weffc++ -Wno-long-long -pedantic -pedantic-errors -oCMakeFiles\yaml-cpp.dir\src\contrib\graphbuilder.cpp.obj -P -c C:\git\Temp\yaml-cpp-master\src\contrib\graphbuilder.cpp
Embarcadero C++ 7.50 for Win32 Copyright (c) 2012-2021 Embarcadero Technologies, Inc.

....

[ 94%] Linking CXX executable parse.exe
        cd C:\git\Temp\yaml-cpp-master\build\util
        C:\PROGRA~2\EMBARC~1\Studio\21.0\bin\bcc32x.exe --rsp-quoting=windows -oparse.exe @MAKE0000.@@@
Embarcadero C++ 7.50 for Win32 Copyright (c) 2012-2021 Embarcadero Technologies, Inc.
bcc32x.exe: warning: argument unused during compilation: '-nobuiltininc' [-Wunused-command-line-argument]
Turbo Incremental Link 6.95 Copyright (c) 1997-2021 Embarcadero Technologies, Inc.
Error: Nicht aufl÷sbares externes '__Atomic_fetch_add_4' referenziert von C:\GIT\TEMP\YAML-CPP-MASTER\BUILD\YAML-CPP.LIB|nodebuilder.cpp
Error: Linken kann nicht ausgef³hrt werden
bcc32x.exe: error: linker command failed with exit code 2 (use -Xdriver -v to see invocation)

** error 2 ** deleting util\parse.exe

** error 1 ** deleting util\CMakeFiles\yaml-cpp-parse.dir\all

** error 1 ** deleting all
0

There are 0 answers