windows下编译jsoncpp 1.y.z

百度上搜索“windows 编译 jsoncpp”都是针对jsoncpp 0.y.z版本的(大多是0.5.0或者0.10.x)为主,对1.y.z的几乎没有。而刚好我涉及到的应用(百度AI的c++API必须要求1.6.2以上)。摸索后总结如下。

  1. 下载jsoncpp源码
    GitHub下载:https://github.com/open-source-parsers/jsoncpp
    或者点击 这里 下载
    下载完成后解压。

  2. 0.y.z版本源码目录中有现成的vs项目,而1.y.z并没有,所以无法直接编译。

  3. 尝试借助cmake工具生成vs项目文件。因为使用到了c++11的新特性,所以建议下载最近的cmake。
    官网地址:https://cmake.org/download/
    我下载的是最新稳定版:cmake-3.14.5-win64-x64.zip
    解压。

  4. 进入jsoncpp-master目录,创建子目录

mkdir -p build\debug
cd build\debug
  1. 使用cmake产生工程项目文件
cmake -DCMAKE_BUILD_TYPE=release -DBUILD_STATIC_LIBS=OFF -DBUILD_SHARED_LIBS=ON  -DCMAKE_INSTALL_INCLUDEDIR=include         -DARCHIVE_INSTALL_DIR=.

如果提示错误

CMake Error at src/lib_json/CMakeLists.txt:89 (target_compile_features):
target_compile_features specified unknown feature “cxx_std_11” for target
“jsoncpp_lib”.
– Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version “2.6”)
– Configuring incomplete, errors occurred!

那么就是因为当前版本的cmake太旧,需要按照步骤3重新下载更新版本。
正确的提示应该是:

D:\jsoncpp-master\build\debug>D:\ProgramUtils\cmake-3.14.5-win64-x64\bin\cmake.exe -DCMAKE_BUILD_TYPE=release -DBUILD_STAT
IC_LIBS=OFF -DBUILD_SHARED_LIBS=ON  -DCMAKE_INSTALL_INCLUDEDIR=include         -DARCHIVE_INSTALL_DIR=. ../..
-- The CXX compiler identification is MSVC 18.0.21005.1
-- Check for working CXX compiler: D:/ProgramIDE/Microsoft Visual Studio 12.0/VC/bin/cl.exe
-- Check for working CXX compiler: D:/ProgramIDE/Microsoft Visual Studio 12.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- JsonCpp Version: 1.9.0
-- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version "2.6")
-- Configuring done
-- Generating done
-- Build files have been written to: D:/jsoncpp-master/build/debug
  1. 打开vs项目文件
    D:\jsoncpp-master\build\debug目录下生成了JSONCPP.sln
    D:\jsoncpp-master\build\debug\src\lib_json目录下生成了jsoncpp_lib.vcxproj
    以及其他一些项目文件

双击使用Visual Studio打开JSONCPP.sln,就可以进行编译了。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皓月如我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值