JSON解析-开源jsoncpp---动态链接库生成

环境

vs2010 ,下载和编译使用静态链接库可以参考这篇文章C++的Json解析库:jsoncpp和boost

由于上面的只是说了生成静态库的过程,使用静态库在我原来都是使用静态库的工程中,行不通,原因就是因为:MD,MDd,MT,MTd的使用过程中,不能使用多个导致的问题。无奈只能寻找生成动态库的方法。

配置过程

我是新建了一个dll库的工程,将开源框架中的源码复制到工程中进行编译。创建工程的步骤和包含头文件的过程就不说了。

  1. 首先找到config.h文件,在该文件中添加宏 #define JSON_DLL_BUILD 1,上个图:这里写图片描述
    为什么要添加这个宏,原因是下面的条件编译代码中所说的,如果定义了 JSON_DLL_BUILD 就可以将JSON_API定义为__declspec(dllexport),因为这样后面的类,如Reader等才能够进行导出。

  2. 如果上面的都做了,当使用的是时候会发现没有lib文件,动态链接库中的.lib文件包含该DLL导出函数的和变量的符号名,而.dll文件包含该DLL实际的函数和数据。所以没有.lib文件,就算是有dll和.h文件还是使用不了的。那怎样生成.lib文件,这里以我的工程为例,在“Jsondll2”上右击,点击“添加”—>“新建项”–>“Visual C++”–>“代码”—>”模块定义文件(.def)”,写入动态链接库工程的名字,(一定要一样)。
    上图:
    这里写图片描述

  3. 在 jsondll2.def文件下的LIBRARY后面,添加Jsondll2。
  4. 在项目属性中“配置属性”-》“链接器”-》“输入”-》“模块定义文件”中添加jsondll2.def的文件,才可以。
  5. 以上工作都做完,才能编译成jsoncpp的动态链接库文件。

总结

  1. 生成动态链接库的步骤和方法自从学完MFC,就再也没有用过,具体详细过程和步骤可参考《VC++深入详解》(孙鑫的书) 19章动态链接库。
  2. 为了以后大家在工程中,再也不用编译jsoncpp的动态链接库文件,我决定将此工程和文件共享出来。源码,可以直接使用动态库文件,和测试代码。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值