libcurl在vs2013下C++项目中的编译连接
2015-09-08 10:44
453 查看
原文链接:http://blog.csdn.net/sunnyleevip/article/details/41038559
现在我的需求是要把libcurl port入自己的程序里。
首先我是参照下面的博客去做的:
/article/9496908.html
感谢这位作者。
特别说明一下,
1)我现在使用的是7.39.0的版本,在这个版本里已经有vs2012的工程文件了,在vs2013中也直接打开就可以了。
2)同样的理由7.39.0版本中,工程文件已经有了调整,博客中的2.2不需要再修改。
3)我需要的是dll库,但是工程默认的设置是编译出lib库,如果只是需要lib库,不需要设置太多,上述博客中的2.3项,在7.39.0版本中默认就是加入了CURL_STATICLIB宏的。
其它东西都按上述博客去做基本都没问题,最后我还是出现了一个小状况,引入了libcurl之后,自己的代码反而编译出错了。出现下述的错误:
我在网上看到也有别人有同样的问题,却没人给出解决方案,自己也折腾了不少时间。这样的情况我觉得很容易出现,因为这个头文件会被很多头文件所包含,比如iostream。
我看了一下xiosbase.h头文件,发现这个116行定义的东西在一个叫share.h的头文件中,然后很不巧的是,libcurl里面也有一个叫share.h的文件,于是,xiosbase.h先调用了libcurl中的头文件而没有去用系统的头文件,这就跟程序搜索头文件路径的顺序相关了。
所以呢,最终我就把系统的头文件路径放在最前面,让编译时先找系统的头文件,编译就通过了。
终于可以继续写代码了。
现在我的需求是要把libcurl port入自己的程序里。
首先我是参照下面的博客去做的:
/article/9496908.html
感谢这位作者。
特别说明一下,
1)我现在使用的是7.39.0的版本,在这个版本里已经有vs2012的工程文件了,在vs2013中也直接打开就可以了。
2)同样的理由7.39.0版本中,工程文件已经有了调整,博客中的2.2不需要再修改。
3)我需要的是dll库,但是工程默认的设置是编译出lib库,如果只是需要lib库,不需要设置太多,上述博客中的2.3项,在7.39.0版本中默认就是加入了CURL_STATICLIB宏的。
其它东西都按上述博客去做基本都没问题,最后我还是出现了一个小状况,引入了libcurl之后,自己的代码反而编译出错了。出现下述的错误:
3>d:\program files (x86)\microsoft visual studio 12.0\vc\include\xiosbase(116): error C2065: '_SH_DENYNO' : undeclared identifier 3> d:\program files (x86)\microsoft visual studio 12.0\vc\include\xiosbase(201) : see reference to class template instantiation 'std::_Iosb<int>' being compiled
我在网上看到也有别人有同样的问题,却没人给出解决方案,自己也折腾了不少时间。这样的情况我觉得很容易出现,因为这个头文件会被很多头文件所包含,比如iostream。
我看了一下xiosbase.h头文件,发现这个116行定义的东西在一个叫share.h的头文件中,然后很不巧的是,libcurl里面也有一个叫share.h的文件,于是,xiosbase.h先调用了libcurl中的头文件而没有去用系统的头文件,这就跟程序搜索头文件路径的顺序相关了。
所以呢,最终我就把系统的头文件路径放在最前面,让编译时先找系统的头文件,编译就通过了。
终于可以继续写代码了。
相关文章推荐
- C语言---函数返回局部变量
- C++获取系统时间
- VS工程中添加c/c++工程中外部头文件及库的基本步骤
- 《C++入门经典(第4版)》之C++编程总结
- POJ C++程序设计 编程题#1 编程作业—STL2
- 通过指针引用字符串
- c++学习笔记
- C++站点
- 【华为上机试题C++】老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.
- 【转】c++编译原理
- c++对txt文件的读取与写入
- C++中的内联函数inline总结
- 讲解C++的do while循环和循环语句的嵌套使用方法
- c++ primer 学习笔记
- C++中的while循环和for循环语句学习教程
- c++のnamespace
- 漫谈C指针第十二讲---回顾指针概念
- C/C++中的预编译指令
- 创建ATL工程及使用C++测试COM组件
- 解析C++编程中的选择结构和switch语句的用法