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平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 保险要多少钱啊?
- 下一篇: 哈利波特与死亡圣器下的资源