Home > database >  How to use Boost/Json on linux
How to use Boost/Json on linux

Time:03-15

I have used boost/json inside my C project which I have created under windows. There the dependency was installed with vcpkg (vcpkg.exe install boost-json). Now I want to port this project to Ubuntu. But I have no clue how to install the library under Linux. Probably this is obvious to a C veteran but I couldn't get it to work. I can't find any hints in the git project or on the official website.

I have already tried:

  • using CMake to build and install the library
  • including the code via add_library in my CMakeLists.txt
  • Using it as header-only by copying only the include folder

What is the best practice to include such a library in a project and what are the steps to achieve it? Is there a tutorial for such tasks? My biggest problem is, I don`t know what to google for.

I hope someone can help me, thank you in advance.

CodePudding user response:

You should first install boost using the following command : sudo apt-get install libboost-all-dev

To get Boost libraries included in your project you must find the package this way :

find_package( 
 Boost 1.65 REQUIRED 
 COMPONENTS  json 
)

You can then, tell CMake to with which file to create your executable and against which libraries to link :

add_execublable( anyExecutable main.cpp )
target_link_libraries( exeLINK_PUBLIC ${Boost_LIBRARIES})

CodePudding user response:

@GPB outlines the general procedure.

If your CMake/FindBoost doesn't support Boost Json yet, the simplest thing to do is to

#include <boost/json/src.hpp>

in exactly 1 (one) translation unit that participates in your linked binary.

See Header Only

  • Related