JSCONCPP使用備忘

2021-07-06 01:33:14 字數 2447 閱讀 1277

使用

jsoncpp生成的lib檔案

2、編譯jsoncpp-master\jsoncpp-master\makefiles\vs71下的工程**生成lib檔案(jsoncpp-master\jsoncpp-master\build\vs71\debug\lib_json目錄下)

3、將lib檔案拷到工程目錄中,並將jsoncpp-master\jsoncpp-master\include\json目錄拷貝到工程目錄中

4、工程**使用時,引用#include "json/json.h"標頭檔案,引入#pragma comment(lib, "json_vc71_libmtd.lib")庫就可以使用了

5、編: 檢測到「runtimelibrary」的不匹配項: 值「mt_staticrelease」不匹配值「md_dynamicrelease」。

jsoncpp的lib工程編譯選項要和vs工程中的編譯選項保持一致。如lib檔案工程編譯選項為mt(或mtd),vs工程中也要選擇mt(或者mtd)否則會出現編譯錯誤問題,debug和release下生成的lib檔案名字不同,注意不要看錯了

在release下編譯,在工程上右鍵-》屬性-》c/c++-》**生成-》執行庫設定為multi-threaded debug (/mtd)

6、測試**

//#include "stdafx.h"

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

#include #include "iostream"

#include #include "json/json.h"

using namespace json;

using namespace std;

int _tmain(int argc, _tchar* argv)

ifstream ifs;

ifs.open("testjson.json");

assert(ifs.is_open());

json::reader reader;

json::value root;

if (!reader.parse(ifs, root, false))

std::string name = root["name"].asstring();

int age = root["age"].asint();

std::cout << name << std::endl;

std::cout << age << std::endl;

*/ // read array [ , ]

ifstream ifs;

ifs.open("testjson2.json");

assert(ifs.is_open());

json::reader reader;

json::value root;

if (!reader.parse(ifs, root, false))

std::string name;

int age;

int size = root.size();

for (int i = 0; i < size; ++i)

/*//[,]

json::value root;

json::fastwriter writer;

json::value person;

person["name"] = "hello world";

person["age"] = 100;

person["name"] = json::value("bill gates");

json::value person2;

person2["name"] = "james bill";

person2["age"] = 50;

std::string json_file = writer.write(root);

ofstream ofs;

ofs.open("testjson3.json");

assert(ofs.is_open());

ofs << json_file;

*/ system("pause");

return 0;

}使用

jsoncpp包中的.cpp

.h檔案

1、將jsoncpp-master整個工程拷貝到工程目錄中

2、include\json和src\lib_json目錄裡的檔案包含到vs工程中,在vs工程的屬性c/c++下general中

additional include directories

包含頭檔案目錄include

3、剩下的使用同上

參考: 



Git 使用備忘

簡單的 git 使用教程。從服務拷貝 副本到本地 類似 svn checkout 新增本機檔案到伺服器 這個好像沒直接的命令可以檢視,可以去 git 的根目錄下的 git config 裡去看。切換分支。一般在切換分支前需要 git pull 更新到最新。這個命令,還有另外乙個用處,當你想恢復乙個檔...

ICESSL使用備忘

1 任何ice的程式如果試圖使用ssl的安全連線,那麼對應的應用必須載入ssl外掛程式 2 配置程式在啟動過程中載入ssl外掛程式 ice.plugin.icessl icessl createicessl icessl.defaultdir opt certs icessl.certfile pu...

dsplib使用備忘

2.在工程屬性裡新增dsplib的標頭檔案路徑,lib庫路徑 3.在原始檔中包含dsplib標頭檔案,如果是在.cpp檔案裡呼叫,包含標頭檔案時要用 extern c 4.新增dsplib的lib庫,注意有大小端和格式的區別。從dsp lib的名字可以分辨coff elf格式 dsplib.a66是...