vs编译libcurl和jsoncpp

本文详细介绍了libcurl 7.52.1版本和jsoncpp的编译过程及注意事项,包括如何配置Visual Studio进行静态编译、解决常见错误、配置工程属性等。

1.首先是编译libcurl,我下载的是7.52.1,下载地址是点击打开链接http://down.cnzz.cn/201612/63184eca.shtml

我主要参考的是点击打开链接http://www.cnblogs.com/jkcx/p/6406706.html  

点击打开链接https://my.oschina.net/u/1420791/blog/198247

首先看第一篇,说是要打开开发人员命令提示,我不知道怎么打开,最后查到是在

开始->程序->visual studio 2013-> visual studio tools里面,当然我用的是vs 2013。

然后打开开发人员命令,cd到curl-curl-7_52_1/winbuild/ 目录,

使用命令nmake /f Makefile.vc mode=static VC=12 RTLIBCFG=static编译,

成功之后,生成的库文件在builds/libcurl-vc12-x86-release-static-ipv6-sspi-winssl目录下,我们需要的是该目录下的include和libcurl_a.lib.

然后就要测试啦,新建一个工程,配置工程的时候需要注意一下几点:

①: 如果编译libcurl的时候是静态编译,那么就要设置项目->属性->c/c++->代码生成->运行库->多线程(/MT).

同时

项目->属性->c/c++->常规->附加包含目录,把builds/libcurl-vc12-x86-release-static-ipv6-sspi-winssl目录下的include包含进来。

③项目->属性->VC++目录->库目录,把builds/libcurl-vc12-x86-release-static-ipv6-sspi-winssl目录下的lib包含进来。

④项目->属性->链接器->输入->附加依赖项,里面添加

libcurl_a.lib
ws2_32.lib
winmm.lib
wldap32.lib

这四项。

⑤项目->属性->c/c++->预处理器->预处理器定义,如果有BUILDING_LIBCURL,就改成CURL_STATICLIB,如果没有就添加CURL_STATICLIB。因为我配置的时候就没有BUILDING_LIBCURL,我参考的资料里面却说有。

然后就可以了,就是这些问题。

2.jsoncpp的编译。jsoncpp最新下载地址点击打开链接https://github.com/open-source-parsers/jsoncpp

然后编译参考的文章主要有:点击打开链接http://blog.sina.com.cn/s/blog_6294abe7010156v5.html  和

点击打开链接http://www.bubuko.com/infodetail-1198176.html

之所以会有第二篇,是因为我编译的是 release版的,debug下就不会有问题。

我把release下生成的lib放到我的工程目录下,然后添加到项目属性的附加依赖项里,测试json,结果出现了这样的问题:

fatal error C1083: 无法打开编译器生成的文件:“../../build/vs71/release/lib_json\json_value.asm”: No such file or directory 

然后我就重新打开json的解决方案jsoncpp-master\makefiles\vs71\jsoncpp.sln,项目->属性->c/c++->输出文件->汇编程序输出,改为无列表,重新编译。

成功之后生成的库文件在jsoncpp-master\build\vs71\release\lib_json\json_vc71_libmt.lib.当然这里我是release编译的。

然后新建一个项目测试,配置需要注意的是:

①我是release编译的,那么项目也要按照libcurl的①那样配置。

②项目->属性->VC++目录->库目录,把jsoncpp-master\build\vs71\release\lib_json添加进来,当然我这个路径并不完整,自己得按照自己的目录来添加。

③项目->属性->链接器->输入->附加依赖项,添加json_vc71_libmt.lib。

ok!!!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值