Windows下使用MingW编译Jsoncpp链接库
文章目录
- 说明
- 1.下载源码
- 2. 生成Makefile
- 3. 编译与安装
- 4. 测试
说明
之前在 Linx 系统里用 JsonCpp ,记录了安装使用过程。
CentOS下Jsoncpp安装配置
Windows 上源码编译 JsonCpp 实际也不复杂,只是在使用习惯、命令方法上略有差别导致在不同系统上操作显得有些不自然。Windows 上编译安装各种 c/c++
开源软件/库,通常推荐的都是 Visual Studio 软件(MSVC 编译器),更多的教程讲的也都是基于 MSVC 的方法。而本文选择
- 基于
Windows 10
操作系统 - 使用
CMake
构建项目 - 使用
MinGW
编译 Jsoncpp 源码,生成动/静态链接库 - 使用
Qt
进行测试
当然参考本教程前需准备好如下开发环境
Qt(MinGW) for Windows
CMake
没准备好的可以参考下面链接的相应小节
CGAL 在 Windows QT(MinGW) 的环境搭建
进入正题。
1.下载源码
到 Github 上下载源码到本地,当前版本 v1.9.4
https://github.com/open-source-parsers/jsoncpp
2. 生成Makefile
打开图形界面 cmake-gui
,填入源码路径和生成二进制文件路径,然后 Configure 进行检查和配置
- E:/SweetYaya/jsoncpp/jsoncpp-1.9.4
- E:/SweetYaya/jsoncpp/build
检查和配置完成后点击 Generate 生成 Makefile
结果如下
3. 编译与安装
以管理员身份运行 cmd ,进入 build/
目录,执行
E:\SweetYaya\jsoncpp\build> mingw32-make.exe
Scanning dependencies of target jsoncpp_lib
[ 5%] Building CXX object src/lib_json/CMakeFiles/jsoncpp_lib.dir/json_reader.cpp.obj
...
Testing MemberTemplateIs/BehavesSameAsNamedIs: OK
All 118 tests passed
[100%] Built target jsoncpp_test
然后
E:\SweetYaya\jsoncpp\build> mingw32-make.exe install
[ 23%] Built target jsoncpp_lib
....
-- Up-to-date: C:/Program Files (x86)/jsoncpp/include/json/version.h
-- Up-to-date: C:/Program Files (x86)/jsoncpp/include/json/writer.h
4. 测试
创建 Qt console 项目,主文件 main.cpp
如下
#include <QCoreApplication>
#include <fstream>
#include <iostream>
#include <json/json.h>
#include <cassert>
#include <errno.h>
#include <string.h>
using namespace std;
int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);ifstream ifs;ifs.open("jsontest.json");assert(ifs.is_open());Json::Reader reader;Json::Value root;if (!reader.parse(ifs, root, false)){cout << "reader parse error: " << strerror(errno) << endl;return -1;}string name;int age;int size;size = root.size();cout << "total " << size << " elements" << endl;for (int i = 0; i < size; ++i){name = root[i]["name"].asString();age = root[i]["age"].asInt();cout << "name: " << name << ", age: " << age << endl;}return a.exec();
}
配置文件 .pro
添加如下链接
LIBS += -LE:\SweetYaya\jsoncpp\build\bin\ -ljsoncppINCLUDEPATH += E:\SweetYaya\jsoncpp\build\include\
最后在项目编译生成文件夹下创建一个测试文件 jsontest.json
[{"name":"Long", "age":6}]
编译运行结果如下,OK
.
.
.
.
.
.
桃花仙人种桃树,又摘桃花换酒钱_
Windows下使用MingW编译Jsoncpp链接库相关推荐
- Windows下用Mingw编译Boost.Regex库
下载Boost库,解压. 定位到regex库文件夹下. GCC所对应的MAKEFILE为gcc.mak 进入命令提示符下,输入make -f gcc.mak 这是如果直接按回车执行的话,会出现错误: ...
- Windows下用CMake编译JsonCpp及配置(适合新手)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 JsonCpp是什么? JSON是一种轻量级的数据交换格式.它可以表示数字.字符串.有序的值序列 ...
- 手把手教你在Windows下使用MinGW编译libav
2019独角兽企业重金招聘Python工程师标准>>> 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言开发的,不可避免的,libav ...
- 手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)
转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言 ...
- [转]cscope在windows下使用mingw编译的方法
cscope在windows下使用mingw编译的方法 http://blog.csdn.net/mslk/archive/2007/05/06/1598513.aspx cscope在wi ...
- 在Windows下使用MinGW静态编译Assimp
使用MinGW静态编译Assimp 到了5月份了,没有写一篇日志,于是自己从知识库里面拿出一篇文章充数吧.这次将要解说怎样在Windows下使用MinGW静态编译Assimp. Assimp是眼下比較 ...
- 在windows下写makefile编译代码
From: http://blog.163.com/xjming487@126/blog/static/212951352007625114849843/ 在windows下写makefile编译代码 ...
- 手把手教你在windows下源码编译Open3D
文章目录 前言 1.编译环境 2.编译步骤 3.编译中的bug 3.1 下载超时问题,ispc.pybind11.open3d_sphinx_theme等 3.2 boringssl 3.3 Dire ...
- Windows下使用VS2019编译libiconv-1.16
Windows下使用VS2019编译libiconv-1.16 参考了 https://blog.csdn.net/zhouguangcai8/article/details/105270657,在其 ...
最新文章
- 独家 | 提升API设计技能的22个最佳实践(附链接)
- Oracle修改字段类型方法
- 用PHP制作饼图调查表
- mysql客户端登陆提示client option 'secure_auth' enabled错误
- JavaScript学习(六十三)—typeof和instanceof检测数据类型的异同
- 远程使用plsql登陆数据库时,界面提示 ORA-12170 TNS 连接超时
- vs2008补丁发布
- JAVA学子商城项目问题集锦(springboot)
- 什么是Web应用程序防火墙?
- TextView 在xml 中设置图片大小
- 合宙Air202--Luat入门学习
- java对接支付宝三方登录
- 麦子学院demo(html+css)
- 多显示器屏幕枚举方法
- android 多个style,Android style详解
- 跑通官方的yolov7-tiny实验记录(yolov7-tiny可作为yolov5s的对比实验网络)
- python-docx 设置Table 边框样式、单元格边框样式
- 广州宇信易诚科技有限公司面试题
- 低代码的 Soulmate 燃爆 Ignite China 晚场趴,高光瞬间不止亿点点
- [转摘]必须学好C++么?
热门文章
- 单片机双字节数乘法运算实验_基于单片机指纹电子密码锁——硬件设计2
- 产品设计:基于二维码与打印业务的校园推广方案
- 【MySQL】十五、内连接(等值连接,非等值连接,自连接)
- c++复习日记1 类的继承与派生
- 信创环境下的Wps-Chrome浏览器插件开发
- python 多张图片进行横向与纵向的无损拼接,适用于图片宽高差不多的图片
- linux iptables启动问题
- buuctf have fun
- win10计算机右键属性打不开,win10系统右键点击“属性”打不开窗口的具体办法...
- YunCharge充电桩系统开源源码,配套设备+小程序直接商用落地