JSONCpp在windows下的VC6編譯和呼叫

2021-06-23 02:08:16 字數 1579 閱讀 7884

其實很簡單,但是不知道的時候根本無從下手,後來看到別人分享的例子,才知道怎麼編譯的。

2、解壓縮

3、開啟vc6,新建工程 win32 static library

4、將src裡面的源**全部複製到我們新建的工程目錄下。

5、把include下面的json資料夾複製到新建的工程目錄下。

6、將裡面的warning 4785遮蔽掉。

#pragma warning( disable : 4786 )
編譯通過,ok~

在測試lib檔案時發現了問題

vc中使用靜態庫的方法

#pragma comment(lib, 「***.lib」)

但在編譯你應用程式時可能出現類似如下的錯誤

1>libcmtd.lib(invarg.obj) : error lnk2005: __invoke_watson 已經在 msvcrtd.lib(msvcr90d.dll) 中定義

1>libcmtd.lib(dbgheap.obj) : error lnk2005: __crtsetcheckcount 已經在 msvcrtd.lib(msvcr90d.dll) 中定義

1>libcmtd.lib(tidtable.obj) : error lnk2005: __encode_pointer 已經在 msvcrtd.lib(msvcr90d.dll) 中定義

1>libcmtd.lib(tidtable.obj) : error lnk2005: __decode_pointer 已經在 msvcrtd.lib(msvcr90d.dll) 中定義

解決辦法是在編譯jsoncpp的lib時,選擇動態執行時庫

具體含義如下

開關

對應的庫

版本

/mdmsvcprt.lib

多執行緒動態鏈結的release版本

/mdd

msvcprtd.lib

多執行緒動態鏈結的debug版本

/mtlibcpmt.lib

多執行緒靜態鏈結的release版本

/mtd

libcpmtd.lib

多執行緒靜態鏈結的debug版本

最後還有個4098的warning,直接遮蔽掉!

呼叫

目前問題還很多,如果使用/md編譯,則編譯lib通過,在vc6工程會出現error lnk2005錯誤;如果使用/mtd編譯通過,但在vc6工程中呼叫parse出現問題。

最終我還是直接把.h和.cpp檔案加到工程裡面來實現,沒有太多時間去研究這個lib怎麼會報錯~

jsoncpp在linux下的配置

json 官方的解釋為 json 是一種輕量級的資料傳輸格式。關於 json 更具體的資訊,可參見 json 官網 jsoncpp 是比較出名的 c json 解析庫。在 json 官網也是首推的。下面開始說明配置方法 2 scons部署 版本為scons 2.1.0.zip 進入scons解壓目錄...

jsoncpp在linux下的配置

jsoncpp tar zxvf jsoncpp src 0.5.0 c jsoncpp 說明 安裝jsoncpp jsoncpp 和scon 還需要機器上有 python scons又是乙個牛叉的工具,功能和 gnu make 一樣,又比 make 簡單多了。scons 是python 工具,需要...

jsoncpp在linux下的配置

關於 json 更具體的資訊,可參見 json 官網 jsoncpp 是比較出名的 c json 解析庫。在 json 官網也是首推的。版本為jsoncpp src 0.5.0 下面開始說明配置方法 1 版本為scons 2.1.0 並解壓 設定環境變數 export myscons 解壓的路徑 2...