QtCreator动态编译jsoncpp完美支持x86和arm平台
如果是做嵌入式开发。 在Qt下支持JSon最好的办法,可能不是采用qjson这个库。QJson这个库的实例只提供了x86环境下的编译方法。
Installing QJson QJson requires: For Unix/Linux/Mac: mkdir build Please report problems to: |
按照上面的办法,的确10分钟就可以搞定x86环境的Linux 程序了。但是,如果要把这个库移植到arm环境下,笔者花了好几个小时都没有任何进展。相信很多朋友也有类似的感觉。
经过实验,终于找到一个非常简单的办法了。可以很好的把JSon和QtCreator集成在一起了。
第1步:下载 jsoncpp-src-0.5.0.tar.gz 这个库文件。
下载地址:
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2012年资料/2月/8日/QtCreator动态编译jsoncpp完美支持x86和arm平台/
解压后如图:
不要被这一堆文件吓到哦。
第2步:把我们要的东西从代码堆里整理出来。
(1) 随便找个地方建一个空文件夹叫json
(2)将include\json里面所有文件复制到 刚刚新建的json文件夹里(共8个文件,全部是.h的头文件)
(3)将src/lib_json里面的所有文件全部复制到json文件里,共8个文件
通过复制这些文件,就组成了我们所要的JSON库的全部源代码了。完整的文件清单见下面:
第3步: 打开QtCreator集成开发环境,新建一个新项目。
然后把我们刚刚准备好的JSON库,复制到你新建项目的同一目录下。
最后回到QtCreator开发环境,鼠标右键点击“添加现有文件”
打开JSON目录,选中全部文件。
点击“打开”。
至此JSON库的所有代码添加完毕。
对比哈,你的代码结构,和我一致吗? 如果一致,恭喜你!
第4步:编辑测试代码
在可视化界面上,添加一个“按钮”建立好信号槽。
按钮代码如下:
void Widget::on_btnTestJson_clicked()
{
using namespace std;
std::string strValue = "{\"学号\":\"20120207001\",\"姓名\":\"张无忌\",\"性别\":\"男\"}";
Json::Reader reader;
Json::Value value;
if (reader.parse(strValue, value))
{
std::string out = value["学号"].asString();
std::cout << out << std::endl;
out = value["姓名"].asString();
std::cout << out << std::endl;
out = value["性别"].asString();
std::cout << out << std::endl;
}
}
运行效果如下:
更多JSON-CPP库的用法,请参考 json-cpp 的使用手册。
arm开发环境编译测试:
(1)首先检查你的arm环境和我的是否一致。
(2)切换工程编译模式
选择 Embed 4.5 Release 嵌入式开发环境编译器
(3)重新构建工程文件
重新构建完成。点击编译即可。
将编译好的程序文件copy到arm开发板上就可以运行了。
转载于:https://www.cnblogs.com/MingZznet/p/3228143.html
QtCreator动态编译jsoncpp完美支持x86和arm平台相关推荐
- BlueStacks不仅支持x86和ARM处理器,新版BlueStacks并不是单纯的实现虚拟化,而是运行整个Android系统
blueStacks是由AMD投资的一款安卓模拟器产品,可以让用户在Windows系统电脑上运行Android应用.日前,AMD宣布对这款应用进行了强化,新版BlueStacks将能在Windows台 ...
- X86与ARM平台下的参数传递机制
X86与ARM平台区别参考:一文看懂arm架构和x86架构有什么区别_bleauchat的博客-CSDN博客_arm x86 1. X86下的参数传递 参数传递: (1)32位程序使用栈传递. (2) ...
- linux支持arm架构么_全球首次!中国推出一款支持X86、ARM等各种芯片架构的操作系统...
众所周知,说起操作系统,大家都知道windows是最强大的,目前占了全球85%左右的份额.而windows之所以强大,一是推出时间早,二是因为wintel联盟. windows在早期和intel形成绑 ...
- linux编译x86和arm平台的x264
摘抄网址:http://blog.csdn.net/baliguan163/article/details/11773363 参考网址:http://blog.csdn.net/evsqiezi/ar ...
- 动态编译MySQL plugin
经常会有人问安装完了mysql,但是以前没有安装XXX 引擎,现在需要在线动态加载. 对于此问题我自根据自己的工作总结了下: 1.使用源码编译的,默认innobase没有被编译进来:使用二进制包安装的 ...
- 高性能动态编译库Natasha发布1.0版本!
一. 前言 对于开源贡献者,Emit和表达式树不是陌生的字眼,IL的动态特性为封装工作带来了极大的方便,会Emit的开发者可以说驾驭了大部分的高性能.高动态的编程技巧.纵观ef.dapper.json ...
- 阿里云发布全新开源操作系统『龙蜥』,支持 X86 64 和 ARM 64 架构及鲲鹏、飞腾等芯片...
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 近日,2021 云栖大会上,阿里云发布了全新操作系统 "龙蜥"(Anolis OS),并宣布开 ...
- NetCore基于Roslyn的动态编译实现
目录 一. AvalonEdit文本器 1.功能实现 2. 高亮 3. 代码提示 4. 动态编译 1)依赖项初始化 2) 编译函数 二. 运行效果展示 三. 源码链接 四. 参考资料 一. Avalo ...
- Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布
首先是准备工作,去QT主页下载独立的QT类库安装包以及完整QT SDK安装包,还有QT Creator for windows 版 下载地址:http://qt.nokia.com/downloads ...
最新文章
- Thinkpad x230设置启动顺序
- ios数组基本用法和排序
- python开三次方_python实现三次样条插值
- 计算机应用基础答案解析,计算机应用基础答案
- 和显卡驱动要配套吗_天天学渲染,你的显卡驱动用对了吗?
- Linux内存管理段页
- 第十节:基于MVC5+Unity+EF+Log4Net的基础结构搭建
- android中的饱和机制,Android事件分发机制收藏这一篇就够了,通用流行框架大全...
- 学校如何把表格里的成绩,让学生以二维码的方式去扫描查询呢?
- fiddler模拟服务器响应,fiddler模拟返回响应数据
- Java基础 --存储数据
- 第八届蓝桥杯省赛C/C++本科B组真题解析
- 微信公众帐号测试号申请及配置
- cad多段线画圆弧方向_cad弧形多线(cad多段线怎么画弧线)
- Java笔记 - 黑马程序员_03(继承,修饰符,多态,抽象类,接口,内部类)
- sqlserver Month()函数取日期不足两位的加 0
- java除swing以外的界面_关于java的swing界面开发总结
- OutputStreamWriter的基本使用
- 全球及中国呼叫中心服务行业运营模式及发展战略分析报告2022-2028年
- python透视变换原理_python cv2中的透视变换