构建jsoncpp(Linux)--对我们这些凡人的指导?

kgqe7b3p  于 2023-01-12  发布在  Linux
关注(0)|答案(4)|浏览(146)

我尝试在Ubuntu 10.x上构建jsoncpp--然而“说明”有时很模糊。例如,scons.py在构建lib之前,不清楚www.example.com文件需要驻留在哪个文件夹中。
有人能概述一下在Linux上构建jsoncpp库所需的步骤吗?如果做不到这一点,如果有人知道任何包含此信息的在线资源,请分享此链接。

ttp71kqs

ttp71kqs1#

我是这么做的:

apt-get install scons
wget "http://downloads.sourceforge.net/project/jsoncpp/jsoncpp/0.5.0/jsoncpp-src-0.5.0.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fjsoncpp%2F&ts=1294425421&use_mirror=freefr"
tar -xvzf jsoncpp-src-0.5.0.tar.gz
cd jsoncpp-src-0.5.0
scons platform=linux-gcc

jsoncpp似乎不能自动安装,因此当您构建使用该库的应用程序时,您必须手动将库和头文件复制到您想要的任何位置。

vsaztqbk

vsaztqbk2#

现在使用cmake很容易做到:
确保安装了CMake,然后在主存储库中运行以下命令:

mkdir -p build/debug
cd build/debug
cmake -DCMAKE_BUILD_TYPE=debug -DJSONCPP_LIB_BUILD_STATIC=ON-DJSONCPP_LIB_BUILD_SHARED=OFF -G "Unix Makefiles" ../..
make
make install
ffscu2ro

ffscu2ro3#

CMAKE解决方案现在也已弃用。当前的生成解决方案是here提供的

cd jsoncpp-master/
BUILD_TYPE=release
#plain, debug, debugoptimized, release, minsize
LIB_TYPE=shared
#LIB_TYPE=static
meson --buildtype ${BUILD_TYPE} --default-library ${LIB_TYPE} . 
build-${LIB_TYPE}
ninja -v -C build-${LIB_TYPE} test

对于新手,我们给出了一个简单的测试示例here

myss37ts

myss37ts4#

使用meson对我不起作用。推荐的使用vcpkg的方法起作用了:

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install jsoncpp

相关问题