如果是做嵌入式开发。 在Qt下支持JSon最好的办法,可能不是采用qjson这个库。QJson这个库的实例只提供了x86环境下的编译方法。

Installing QJson
--------------

QJson requires:
- Qt 4.0 or greater
- cmake 2.6 or greater

For Unix/Linux/Mac:

mkdir build
  cd build
  cmake -DCMAKE_INSTALL_PREFIX=_preferred_path_ ..
  make
  make install
  /sbin/ldconfig, if necessary

Please report problems to:
  https://lists.sourceforge.net/mailman/listinfo/qjson-devel

按照上面的办法,的确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库,复制到你新建项目的同一目录下。

linux

最后回到QtCreator开发环境,鼠标右键点击“添加现有文件”

打开JSON目录,选中全部文件。

点击“打开”。

至此JSON库的所有代码添加完毕。

对比哈,你的代码结构,和我一致吗? 如果一致,恭喜你!

第4步:编辑测试代码

在可视化界面上,添加一个“按钮”建立好信号槽。

linux

按钮代码如下:

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开发板上就可以运行了。

linux

转载于:https://www.cnblogs.com/MingZznet/p/3228143.html

QtCreator动态编译jsoncpp完美支持x86和arm平台相关推荐

  1. BlueStacks不仅支持x86和ARM处理器,新版BlueStacks并不是单纯的实现虚拟化,而是运行整个Android系统

    blueStacks是由AMD投资的一款安卓模拟器产品,可以让用户在Windows系统电脑上运行Android应用.日前,AMD宣布对这款应用进行了强化,新版BlueStacks将能在Windows台 ...

  2. X86与ARM平台下的参数传递机制

    X86与ARM平台区别参考:一文看懂arm架构和x86架构有什么区别_bleauchat的博客-CSDN博客_arm x86 1. X86下的参数传递 参数传递: (1)32位程序使用栈传递. (2) ...

  3. linux支持arm架构么_全球首次!中国推出一款支持X86、ARM等各种芯片架构的操作系统...

    众所周知,说起操作系统,大家都知道windows是最强大的,目前占了全球85%左右的份额.而windows之所以强大,一是推出时间早,二是因为wintel联盟. windows在早期和intel形成绑 ...

  4. linux编译x86和arm平台的x264

    摘抄网址:http://blog.csdn.net/baliguan163/article/details/11773363 参考网址:http://blog.csdn.net/evsqiezi/ar ...

  5. 动态编译MySQL plugin

    经常会有人问安装完了mysql,但是以前没有安装XXX 引擎,现在需要在线动态加载. 对于此问题我自根据自己的工作总结了下: 1.使用源码编译的,默认innobase没有被编译进来:使用二进制包安装的 ...

  6. 高性能动态编译库Natasha发布1.0版本!

    一. 前言 对于开源贡献者,Emit和表达式树不是陌生的字眼,IL的动态特性为封装工作带来了极大的方便,会Emit的开发者可以说驾驭了大部分的高性能.高动态的编程技巧.纵观ef.dapper.json ...

  7. 阿里云发布全新开源操作系统『龙蜥』,支持 X86 64 和 ARM 64 架构及鲲鹏、飞腾等芯片...

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 近日,2021 云栖大会上,阿里云发布了全新操作系统 "龙蜥"(Anolis OS),并宣布开 ...

  8. NetCore基于Roslyn的动态编译实现

    目录 一. AvalonEdit文本器 1.功能实现 2. 高亮 3. 代码提示 4. 动态编译 1)依赖项初始化 2) 编译函数 二. 运行效果展示 三. 源码链接 四. 参考资料 一. Avalo ...

  9. Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布

    首先是准备工作,去QT主页下载独立的QT类库安装包以及完整QT SDK安装包,还有QT Creator for windows 版 下载地址:http://qt.nokia.com/downloads ...

最新文章

  1. Thinkpad x230设置启动顺序
  2. ios数组基本用法和排序
  3. python开三次方_python实现三次样条插值
  4. 计算机应用基础答案解析,计算机应用基础答案
  5. 和显卡驱动要配套吗_天天学渲染,你的显卡驱动用对了吗?
  6. Linux内存管理段页
  7. 第十节:基于MVC5+Unity+EF+Log4Net的基础结构搭建
  8. android中的饱和机制,Android事件分发机制收藏这一篇就够了,通用流行框架大全...
  9. 学校如何把表格里的成绩,让学生以二维码的方式去扫描查询呢?
  10. fiddler模拟服务器响应,fiddler模拟返回响应数据
  11. Java基础 --存储数据
  12. 第八届蓝桥杯省赛C/C++本科B组真题解析
  13. 微信公众帐号测试号申请及配置
  14. cad多段线画圆弧方向_cad弧形多线(cad多段线怎么画弧线)
  15. Java笔记 - 黑马程序员_03(继承,修饰符,多态,抽象类,接口,内部类)
  16. sqlserver Month()函数取日期不足两位的加 0
  17. java除swing以外的界面_关于java的swing界面开发总结
  18. OutputStreamWriter的基本使用
  19. 全球及中国呼叫中心服务行业运营模式及发展战略分析报告2022-2028年
  20. python透视变换原理_python cv2中的透视变换

热门文章

  1. 2022-2028年中国汽车俱乐部行业发展趋势与投资战略研究报告
  2. 【AJAX】JavaScript的面向对象
  3. 【Sql Server】Database-sql语言的流程控制语句
  4. 机房收费系统【VB版】——前期准备
  5. 【VB】学生信息管理系统5——数据库代码
  6. LeetCode简单题之递增顺序搜索树
  7. LeetCode简单题之相对名次
  8. CVPR2020论文解析:实例分割算法
  9. 2021年大数据Spark(三十二):SparkSQL的External DataSource
  10. php mongodb execute,php简单操作mongodb