Ubuntu源码编译jsoncpp

jsoncpp 0.5.0编译

sudo apt-get install scons
tar -xf jsoncpp-src-0.5.0.tar.gz
cd jsoncpp-src-0.5.0
scons platform=linux-gcc

jsoncpp 1.8.4编译

1 下载必须的软件

注意在开始前请先安装Python3,版本大于等于3.4
ninja通过git下载
meson
下载jsoncpp

2 编译源码

2.1 编译ninja

mkdir ~/library
cd ~/library
git clone git://github.com/ninja-build/ninja.git && cd ninja
git checkout release
./configure.py --bootstrap
sudo cp ~/library/ninja/ninja /usr/bin

2.2 编译meson

cd ~/library
tar -xf meson-0.44.0.tar.gz
cd meson-0.44.0
sudo python3 setup.py install

编译成功后meson安装在/usr/local/bin/meson

2.3 编译jsoncpp

这里编译静态链接库版本(static),动态链接库版本(shared)只要将下面命令中的static替换为shared即可,现在编译release版本

cd ~/library
unzip jsoncpp-master.zip
mv jsoncpp-master jsoncpp
cd jsoncpp
mkdir build-static
#BUILD_TYPE=debug  #如果要编译debug版本,注释后面行,并取消当前行的注释
BUILD_TYPE=release
#LIB_TYPE=shared   #编译动态链接库版本
LIB_TYPE=static    #编译静态链接库版本
/usr/local/bin/meson --buildtype ${BUILD_TYPE} --default-library ${LIB_TYPE} . build-${LIB_TYPE}
ninja -v -C build-${LIB_TYPE} test
cd build-${LIB_TYPE}
sudo ninja install

安装成功后头文件位置”/usr/local/include”,a文件位置”/usr/local/lib/x86_64-linux-gnu/libjsoncpp.a”

你可能感兴趣的:(Ubuntu源码编译jsoncpp)