win7下使用mingw编译jsoncpp库并用Qt Creator

最近需要在Qt MINGW 下解析json,查了一下jsoncpp这个库很合适,所以下载了这个第三方库。自己编译费了点劲,记录一下编译过程。

本人对编译不太懂,有什么不对的希望指出。

现在这个库已经移到github上,目前最新的版本是1.6.5 ,附上下载地址

https://github.com/open-source-parsers/jsoncpp/tree/1.6.5  

下载后解压,我的解压到 E:\DOWNLOAD\jsoncpp-1.6.5

进去发现有个README.md   里面有介绍怎么使用

推荐的方式是将 两个头文件 和 一个cpp 文件加到你的工程中,

那么是哪两个头文件和cpp文件呢  下面帮助里写着用

           python amalgamate.py

生成两个头文件和一个源文件 ,所以需要安装Python,这里不详说了

打开cmd(最好是以管理员身份运行),进到解压后的有README.md这一层,

接着执行python amalgamate.py

win7下使用mingw编译jsoncpp库并用Qt Creator_第1张图片

如图,生成了dist/json/json.h      dist/json/json-forward.h   dist/jsoncpp.cpp

应该就是这三个文件。

接下来测试这三个文件能不能用。

在Qt Creator里新建一个工程,test


然后在工程里新建一个文件夹json ,将刚生成的三个文件都复制到这个新建的文件夹下,

然后右键点击项目,添加现有文件


进到json文件夹,将这三个文件都选上,

然后  ,就变成这样 , 你的.pro也多了两句

win7下使用mingw编译jsoncpp库并用Qt Creator_第2张图片

从网上找个栗子  试试看。


#include 
#include "json/json.h"
using namespace std;
int main()
{
    string strValue = "{\"key1\":\"value1\",\"array\":[{\"key2\":\"value2\"},{\"key2\":\"value3\"},{\"key2\":\"value4\"}]}";

    Json::Reader reader;
    Json::Value value;

    if (reader.parse(strValue, value))
    {
        string out = value["key1"].asString();
        cout << out << endl;
        const Json::Value arrayObj = value["array"];
        for (int i=0; i

win7下使用mingw编译jsoncpp库并用Qt Creator_第3张图片

 好了,完成。

最后有点问题,因为需要mingw ,所以按照README.me 使用scons platform=mingw 生成了 一个 libjson_mingw_libmt.a文件

本想通过 在.pro 里引用INCLUDEPATH 和 LIBS方法使用jsoncpp , 却总不成功,最后又看README.md 用了推荐的方法。

如果我这个方法有问题,希望知道的朋友告诉我。



你可能感兴趣的:(win7下使用mingw编译jsoncpp库并用Qt Creator)