Max OS下jsoncpp的安装与Xcode链接外部库

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/FinalCreed/article/details/70185785

1、预备条件

1、jsoncpp安装包,下载地址:https://github.com/open-source-parsers/jsoncpp(打开直接装即可);
2、SCONS,这是一个基于python的编译工具,可以用来取代make;
3、Python,毋庸置疑,显然这是scons能运行的必须品;

2、步骤

1、将下载下来的jsoncpp的zip文件解压;
2、打开命令行,输入brew install scons,运行完毕后便会自动安装成功;
3、进入jsoncpp解压出来的文件夹,为了方便起见,我就将其直接放在了桌面上,完整路径是~/desktop/jsoncpp-master;
4、在该文件夹中运行如下命令:
scons platform=linux-gcc

出现如最后所示,done building targets的提示,则说明编译成功;
5、编译成功后,我们会发现在文件夹里有一个叫做libs的文件夹,里面多了一个名为linux-gcc-4.2.1的文件夹,打开后发现有两个新的文件,分别为libjson_linux-gcc-4.2.1_libmt.a和libjson_linux-gcc-4.2.1_libmt.dylib,前者为jsoncpp的静态库,后者为动态库,新手要注意下的是许多教程后者的后缀为.so,这是Linux环境下动态库的后缀,事实上在Mac os的环境下动态库后缀就是dylib
6、到了这一步说明准备工作已经基本完成,下面便可以开始进行对jsoncpp这个库的使用了

3、用XCode链接jsoncpp

虽然在Mac OS下写c++代码最好是使用vim或者QtCreator,但是这次我尝试了使用XCode对jsoncpp进行链接,这也算是为了以后写基于IOS的应用练手吧。
1、首先打开XCode,创建一个cpp的工程;
2、单击Project Navigator里面的项目名,在general选项卡里Linked FormWorks and Libraries里面添加之前所说的那个动态链接库(PS:在add other中按住command+shift+g键,可以直接通过地址寻找文件夹,从而访问隐藏文件夹)添加进去

3、切换到build settings选项卡中,将Library Search Path选项中的Debug添加你的动态链接库的路径(PS:路径一定要是最后一层文件夹)并保存


这样便是配置完毕,大功告成了

4、运行测试

在main.cpp中输入如下测试代码,并编译运行
#include "json.h"
#include<iostream>
using namespace std;
int main(int argc, char** argv)

{
    
    Json::Value root;
    Json::FastWriter fast;
    root["ModuleType"]= Json::Value("你好");
    root["ModuleCode"]= Json::Value("22");
    root["ModuleDesc"]= Json::Value("33");
    root["DateTime"]= Json::Value("44");
    root["LogType"]= Json::Value("55");
    cout<<fast.write(root)<<endl;
    return 0;  
}


另外:后来我发现,在Mac上安装jsoncpp,还有另一种方式,就是在命令行里直接输入brew install jsoncpp,默认便会自动下载下来动态链接库,无需编译,存在/usr/local/lib中,其他步骤不变,brew真乃Mac上的神器了。


展开阅读全文

没有更多推荐了,返回首页