zoukankan      html  css  js  c++  java
  • QtCreator动态编译jsoncpp完美支持x86和arm平台

    如果是做嵌入式开发。 在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)将includejson里面所有文件复制到 刚刚新建的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

  • 相关阅读:
    HDU 1251 统计难题(字典树模板题)
    POJ 1182 食物链(带权并查集)
    FJUT 2351 T^T的图论(并查集)
    10.QT程序框架与connect
    9.正则表达式
    8.QList QMap QVariant
    7.treeview
    6.图形化列表查询显示
    5.listview(QStringList QStringListModel)
    4.QList
  • 原文地址:https://www.cnblogs.com/MingZznet/p/3228143.html
Copyright © 2011-2022 走看看