C JsonCPP 的使用 完整配置過程

2022-01-29 12:07:10 字數 1795 閱讀 8516

最近準備開發乙個程式 需要用到c++ 解析json 

原始的c++解析json是不現實的 自己也寫不出來json解析方法(主要是不靠譜)

所以找到了jsoncpp 這個庫 但是。。。 因為各種原因 配置的讓我想哭 接下來我來分享一下 我配置這個庫的過程吧

首先發現了這個博文(感謝)

得到了這樣的目錄

接著,按照博文說的開始構建 dist... 這裡需要安裝python  我的電腦已經安裝好了 直接執行那個命令 

python amalgamate.py
發現會失敗... 

會提示找不到乙個檔案...

去看了github上面的iss 然後知道需要先cmake 一下 

但是那個提出解決方案的人是ubuntu 的作業系統 在windows下預設是沒有cmake的 

我就想到了我的vs2019似乎是有這個檔案的 在vs的安裝目錄下直接搜尋 cmake.exe 然後找到了 開啟這個檔案所在位置

cmd 切換目錄到 jsoncpp原始碼根目錄 拖動cmake.exe 到cmd視窗 輸入乙個空格 然後拖入cmakelists.txt 執行即可

這時候才可以執行 python amalgamate.py

之後就能得到dist 複製裡面的所有檔案和資料夾 到你的工程下(和cpp檔案同目錄)

包含標頭檔案: 

#include "json/json.h"

#include "json/json-forwards.h"

執行博文裡面的**之後 會發現符號未定義什麼的錯誤 

lnk2019 無法解析的外部符號 "public: __thiscall json::value::value(enum json::valuetype)" (??0value@json@@qae@w4valuetype@1@@z),該符號在函式 _main 中被引用 click       c:\users\admin\source\repos\click\源.obj 1

這個是因為沒有lib檔案導致的 

但是我發現那個jsoncpp資料夾下 有乙個sln 檔案 雙擊之後開啟工程 在右側找到jsoncpp_lib 專案 設定為執行 設定

然後編譯 注意看編譯器的輸出 找到lib檔案的位置

把.lib檔案複製到你的專案資料夾裡面 與.cpp檔案同路徑

**中匯入 lib檔案

然後你的專案也要設定(這裡是要和編譯的lib檔案一致 所以 都是debug模式也是可以的吧(猜測))

完整測試**如下

#include #include 

"json/json.h

"#include

"json/json-forwards.h

"#pragma comment(lib,"jsoncpp.lib")

using

namespace

std;

intmain()

catch

(json::logicerror)

return0;

}

最終輸出

就徹底成功了.....

對我而言 出現這樣的問題... 就是沒用過lib的原因吧.... 第一次通過原始的c++使用這樣的庫

此次沒有使用qt的原因就i是感覺qt專案發行之後 體積太大了.... 

原生c++ 解析json確實不太方便...

vuex使用完整版

場景2需要在vuex中大量管理資料 定義檔案和變數 檔案設定,在src下新增如下的檔案目錄 store actions.js getters.js index.js mutation types.js mutations.js state.js 第一步設計state.js,這裡面確定需要被vuex管...

DoTween使用(完整版新增)

public float myvalue2 0 public vector3 myvalue2 0 public int myvalue2 0 void start 這個myvalue2可以是任何型別的變數,10和後面的2分別是需要動畫到的值和運動到這個值需要的時間 public recttrans...

匯程式設計序debug的使用完整使用

debug的命令符 具體使用流程 在網上搜尋了10min,大多數關於匯程式設計序debug功能的使用的文章,發現大多數都是一樣的,只是簡單的介紹了debug的一些命令符之類的,均沒有談及你自己編寫的匯程式設計序應該如何使用debug。這對新人學習彙編很不友好!debug命令符 explain a逐行...