JSON解析-开源jsoncpp---动态链接库生成
来源:互联网 发布:linux terminal 字体 编辑:程序博客网 时间:2024/06/04 19:04
环境
vs2010 ,下载和编译使用静态链接库可以参考这篇文章C++的Json解析库:jsoncpp和boost
由于上面的只是说了生成静态库的过程,使用静态库在我原来都是使用静态库的工程中,行不通,原因就是因为:MD,MDd,MT,MTd的使用过程中,不能使用多个导致的问题。无奈只能寻找生成动态库的方法。
配置过程
我是新建了一个dll库的工程,将开源框架中的源码复制到工程中进行编译。创建工程的步骤和包含头文件的过程就不说了。
首先找到config.h文件,在该文件中添加宏 #define JSON_DLL_BUILD 1,上个图:
为什么要添加这个宏,原因是下面的条件编译代码中所说的,如果定义了 JSON_DLL_BUILD 就可以将JSON_API定义为__declspec(dllexport),因为这样后面的类,如Reader等才能够进行导出。如果上面的都做了,当使用的是时候会发现没有lib文件,动态链接库中的.lib文件包含该DLL导出函数的和变量的符号名,而.dll文件包含该DLL实际的函数和数据。所以没有.lib文件,就算是有dll和.h文件还是使用不了的。那怎样生成.lib文件,这里以我的工程为例,在“Jsondll2”上右击,点击“添加”—>“新建项”–>“Visual C++”–>“代码”—>”模块定义文件(.def)”,写入动态链接库工程的名字,(一定要一样)。
上图:- 在 jsondll2.def文件下的LIBRARY后面,添加Jsondll2。
- 在项目属性中“配置属性”-》“链接器”-》“输入”-》“模块定义文件”中添加jsondll2.def的文件,才可以。
- 以上工作都做完,才能编译成jsoncpp的动态链接库文件。
总结
- 生成动态链接库的步骤和方法自从学完MFC,就再也没有用过,具体详细过程和步骤可参考《VC++深入详解》(孙鑫的书) 19章动态链接库。
- 为了以后大家在工程中,再也不用编译jsoncpp的动态链接库文件,我决定将此工程和文件共享出来。源码,可以直接使用动态库文件,和测试代码。
0 0
- JSON解析-开源jsoncpp---动态链接库生成
- JSON解析-开源jsoncpp---动态链接库生成
- MFC JSON解析-开源jsoncpp
- C++解析JSON jsoncpp库
- C++的Json解析库:jsoncpp
- C++ JSONCPP 库 解析 Json数据
- json解析库jsoncpp的使用
- C++的Json解析库:jsoncpp
- C++解析JSON格式(JSONCpp库)
- json解析入门(jsoncpp库)
- WTL 解析json,借助jsoncpp库
- C++的Json解析库:jsoncpp
- C++的Json解析库:jsoncpp
- 用库 jsoncpp 解析 JSON
- jsoncpp 解析 JSON
- C++解析JSON(jsonCpp)
- jsoncpp解析 json对象
- 使用jsoncpp解析json
- Spring事件驱动模型
- 你是如何学习 Linux 编程的?
- servlet监听完成统计在线人数,显示在线人员列表(附源码)
- Flex tree 展开任意想展开的节点
- bookStore案例第一篇【部署开发环境、解决分类模块】
- JSON解析-开源jsoncpp---动态链接库生成
- Servlet(11)HttpServletResponse、HttpServletRequest详解及中文乱码处理
- 经验分享之使用pdfbox截取pdf(java)
- NPM小结
- Flex中利用flexpaper查看文件
- springmvc实体类类型转换
- python基础教程学习笔记 第二章 列表和元组
- mysql 远程连接
- easyui datagrid pagination 自定义分页