windows下JSonCpp的編譯和使用

下載地址:https://sourceforge.net/projects/jsoncpp/html

  1. 解壓下載好的文件:jsoncpp-src-0.5.0.tar.gz
  2. 利用VS2013(也能夠用其餘版本VS編輯器打開)打開jsoncpp-src-0.5.0\makefiles\vs71目錄下的jsoncpp.sln,會出現三個Project:jsontest, lib_json, test_lib_json
  3. 檢查設置:在lib_json上右擊-->Properties-->Configuration Properties-->C/C++-->Code Generation,檢查設置是否爲RunTime  Library  爲MTD  
  4. 切換配置中須要生成的平臺,win32仍是x64,debug版本仍是release版本

在用vs2013打開下載的JSonCpp工程文件會出現工程升級提示,直接點擊肯定。能夠看到:json

 按照須要修改生成的版本,Debug版本仍是Release版本。Win32仍是x64:編輯器

 下圖是安裝須要配置,這裏是64位平臺,若是須要的是32位的lib,則無需配置。函數

 檢查一遍這裏:測試

直接點擊從新生成,在spa

 

例如:上述生成的是64位debug版本的lib: json_vc71_libmtd.lib.net

新建一個測試工程,控制檯程序JSonDemodebug

將jsoncpp-src-0.5.0中的頭文件夾include拷貝到該工程目錄下,而後創建一個lib文件夾,將上一步生成的 json_vc71_libmtd.lib放在其中。3d

 右鍵修改JSonDemo的配置,注意要和上一步生成的lib對應平臺。調試

 如下須要設置:

 

 

 記得將這裏改爲MTd:

到此爲止,則配置完成。

開始添加main函數,進行簡單測試:

#include "json/json.h"
#include <string>

int main()
{
    std::string strValue = "{\"key1\":\"value1\"}";
    Json::Reader reader;
    Json::Value value;

    if (reader.parse(strValue, value))
    {
        std::string out = value["key1"].asString();
        std::cout << out << std::endl;
    }

    return 0;
}

中間可能會遇到的問題:

1.請問debug編譯時警告提示缺乏引用模塊的調試信息;正在連接對象,如同沒有調試信息同樣。解決方法:將生成lib的工程清理一遍,從新生成lib。

參考:http://bbs.csdn.net/topics/260012340

2.在下載的工程中直接用測試例子,出現lib打不開的連接錯誤,這個能夠不用擔憂,直接新建工程,按照設置,能夠正確運行。

3.若出現error LINK2038錯誤:檢測到"RuntimeLibrary"的不匹配項:值。。。

解決方法在生成lib的工程中,設置一樣的運行庫,這裏是是運行庫不匹配形成的。

這裏按目標工程的須要設置。

使用參考:https://www.cnblogs.com/kex1n/archive/2011/12/02/2272328.html

編譯參考:http://blog.csdn.net/u010442009/article/details/38401351

其餘:      http://www.cppblog.com/wanghaiguang/archive/2013/12/26/205020.htmlug

相關文章
相關標籤/搜索