说明一下我是以64位来编译,跟32大同小异

其它参考:https://blog.csdn.net/baidu_41327283/article/details/82974539

我是用 vs2015 直接进去目录:D:\OPENGL\curl\projects\Windows\VC15\lib

发现没有libcurl.vcxproj

需要先执行:D:\OPENGL\curl\projects 几个.bat

build-wolfssl.bat

build-openssl.bat

generate.bat

checksrc.bat

有什么用我没用关心,好像是build-wolfssl.bat这个批处理生成了D:\OPENGL\curl\projects\Windows\VC15\lib\libcurl.vcxproj

使用过程中有错误,比如编译不过的都可以在这查询一下:

https://www.cnblogs.com/unicornsir/articles/12883412.html

如出现:LNK2019    无法解析的外部符号 __imp_wcscpy,该符号在函数 Curl_load_library 中被引用    QTGuitest    I:\MyQTGuitest\QTGuitest\libcurld.lib(system_win32.obj)    1

还有可能有多字符集和unicode 字符集,libcurl默认是多字符集

也有可能,反正我还没有解决

https://www.cnblogs.com/132818Creator/p/14358595.html(好像我的LNK2019    报错比较像这个)

上面方法试了不行,我又试了这个 https://stackoverflow.com/questions/32418766/c-unresolved-external-symbol-sprintf-and-sscanf-in-visual-studio-2015

legacy_stdio_definitions.lib

还是不行,再试下

8

wevsty   2017-06-07 14:19:36 +08:00

@llllllllllll
我不明白为什么一定要手动指定 main 函数作为入口。使用默认的 mainCRTStartup 显然是更安全的选项。
如果一定要这样做可以使用下面的方法手动链接运行库。
#pragma comment(lib, "msvcrtd.lib")
#pragma comment(lib, "vcruntimed.lib")
#pragma comment(lib, "ucrtd.lib")
需要根据自己的编译选项来确定链接哪些库
Release DLLs (/MD ): msvcrt.lib vcruntime.lib ucrt.lib
Debug DLLs (/MDd): msvcrtd.lib vcruntimed.lib ucrtd.lib
Release Static (/MT ): libcmt.lib libvcruntime.lib libucrt.lib
Debug Static (/MTd): libcmtd.lib libvcruntimed.lib libucrtd.lib

还是不行

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    LNK2001    无法解析的外部符号 __imp_write    QTGuitest    I:\MyQTGuitest\QTGuitest\OLDNAMES.lib(write.obi)    1    
错误    LNK2019    无法解析的外部符号 __imp__access,该符号在函数 curlx_win32_access 中被引用    QTGuitest    I:\MyQTGuitest\QTGuitest\libcurld.lib(curl_multibyte.obj)    1    
错误    LNK2019    无法解析的外部符号 __imp_write,该符号在函数 curlx_write 中被引用    QTGuitest    I:\MyQTGuitest\QTGuitest\libcurld.lib(warnless.obj)    1    
错误    LNK2019    无法解析的外部符号 __imp_wcscpy,该符号在函数 Curl_load_library 中被引用    QTGuitest    I:\MyQTGuitest\QTGuitest\libcurld.lib(system_win32.obj)    1    
错误    LNK2019    无法解析的外部符号 __imp_unlink,该符号在函数 cookie_output 中被引用    QTGuitest    I:\MyQTGuitest\QTGuitest\libcurld.lib(cookie.obj)    1    
错误    LNK2001    无法解析的外部符号 __imp_unlink    QTGuitest    I:\MyQTGuitest\QTGuitest\libcurld.lib(altsvc.obj)    1    
错误    LNK2001    无法解析的外部符号 __imp_unlink    QTGuitest    I:\MyQTGuitest\QTGuitest\OLDNAMES.lib(unlink.obi)    1    
错误    LNK2019    无法解析的外部符号 __imp_strspn,该符号在函数 hostname_check 中被引用    QTGuitest    I:\MyQTGuitest\QTGuitest\libcurld.lib(urlapi.obj)    1    
错误    LNK2019    无法解析的外部符号 __imp_read,该符号在函数 curlx_read 中被引用    QTGuitest    I:\MyQTGuitest\QTGuitest\libcurld.lib(warnless.obj)    1    
错误    LNK2001    无法解析的外部符号 __imp_read    QTGuitest    I:\MyQTGuitest\QTGuitest\OLDNAMES.lib(read.obi)    1    
错误    LNK2019    无法解析的外部符号 __imp_close,该符号在函数 file_done 中被引用    QTGuitest    I:\MyQTGuitest\QTGuitest\libcurld.lib(file.obj)    1    
错误    LNK2001    无法解析的外部符号 __imp_close    QTGuitest    I:\MyQTGuitest\QTGuitest\OLDNAMES.lib(close.obi)    1    
错误    LNK1120    7 个无法解析的外部命令    QTGuitest    I:\MyQTGuitest\x64\Debug\\QTGuitest.exe    1

从https://blog.csdn.net/sinat_31066863/article/details/76038154摘抄一段

微软给程序默认使用的运行库是 (/MD) (/MDd) 都是动态的运行库。有的时候包含了一个第三方库,一链接就是一堆的报错,然后运行库改成(/MT) (/MTd) 后就能够正常链接了。但是如果一不小心再包含其他库,其他库是使用 (/MD) (/MDd) 生成的,结果就可能报出上面这种类型的错。很纳闷,这个库是应该存在的,结果他说链接不了。

写这篇文章的目的是,提醒自己微软的运行库是一个坑,不能链接的另一种可能就是你包含的库生成时使用的运行库可能不一致。

要不再看看这个:https://blog.csdn.net/yqichang/article/details/10825111

好了搞不定,跟他们一样的报错,就还解决不了,换一个LIB Debug - LIB OpenSSL选项编译试一下

项目属性-配置属性-链接器-输入-忽略特定的库:libcmtd.lib

成功了,换个思路居然比解决问题更块,主要是我的opensll64位也编译好的,直接include一下就好了,lib居然都不用设置

opensll64库编译见:https://blog.csdn.net/qq_30377315/article/details/114268991

VS2015:libcurl静态编译相关推荐

  1. VS2015静态编译libcurl(C++ curl封装类)

    一.最新libcurl静态编译教程(curl-7.51版/curl-7.52版) 1.安装perl,在官网下载,安装好以后,测试perl -v是否成功 2.编译openssl(已编译好的下载地址) p ...

  2. Qt5.10.1在Windows平台下进行静态编译

    本文最后更新于2018-6-20,可能会因为没有更新而失效.如已失效或需要修正,请联系我! Qt静态编译的最大好处就是可以直接产生能够不依靠多余的dll运行的exe文件, 而且exe文件会比动态编译的 ...

  3. java zlib1.dll,zlib1.2.11静态编译

    1.进入官网http://zlib.net/,下载且解压zlib1211.zip: 2. 打开已解压的zlib-1.2.11目录,找到win32文件夹 3.将Makefile.msc复制到上一层,也就 ...

  4. 易语言静态连接器提取_易语言静态编译链接器切换工具

    使用说明 将exe程序和"链接器目录配置.ini"文件,复制到易语言安装目录的"tools"文件夹下 并且对"链接器目录配置.ini"进行修 ...

  5. Qt最新版5.14在Windows环境静态编译安装和部署的完整过程 VS 2019-Qt static link build Windows 32 bit/64 bit

    文章目录 为什么要静态编译(static link) 1.源码下载/source code download 2. 编译工具下载/compiler download 编译环境选择:MinGW/MSVC ...

  6. Qt最新版5.13在Windows环境静态编译安装和部署的完整过程(VS 2017/VS 2019)

    文章目录 为什么要静态编译 1.源码下载 2. 编译工具下载 ActivePerl Python Ruby 编译环境选择 3.编译 1.修改源码里的qtbase\mkspecs\common\msvc ...

  7. Qt最新版5.12在Windows环境静态编译安装和部署的完整过程(VS2017)

    文章目录 为什么要静态编译 1.源码下载 2. 编译工具下载 ActivePerl Python Ruby 编译环境选择 3.编译 1.修改源码里的qtbase\mkspecs\common\msvc ...

  8. Linux下静态编译的一个TIP

    Linux下静态编译的一个TIP | 素包子 Linux下静态编译的一个TIP 2010年3月28日 baoz 阅读评论 linux下静态编译好处很多,一来是可以跨发行版(debian redhat ...

  9. linux 静态编译 glibc,GCC静态链接glibc库

    如果你的编译环境是高版本的glibc库,而运行程序的环境(机器)安装的glibc是低版本的话,在运行程序的时候,就会告诉你 cannot find GLIBC_2.14 类似这样的错误,上面的2.14 ...

最新文章

  1. 那个专攻JVM的00后求职者,薪水比我的还高···
  2. 号召一下,看有多少人能响应!
  3. python教程:利用while求100内的整数和
  4. Java hibernate假外键_java – Hibernate:没有实体类的外键,只能通过id
  5. 用机器指令和汇编指令编程(修改版)
  6. 2013年上半年工作总结,哇哈哈哈,给自己看的。
  7. 消息中间件的技术选型心得-RabbitMQ ActiveMQ和ZeroMQ
  8. linux开机桌面出现网格,[转自linux联盟]openfoam 网格类编程
  9. mybatis plus 日志打印_Mybatis-plus常用API全套教程,看完没有不懂的
  10. linux grep的信息不全,Linux下grep显示前后几行信息方法介绍
  11. (转)从全球银行IT行业,看中国银行IT
  12. java游戏+弹幕_java弹幕小游戏1.0版本
  13. 使用ivx滑动时间轴制作动画效果的经验总结
  14. Xilinx FPGA资源解析与使用系列——Transceiver(十)PRBS、RX Equalizer、CDR
  15. 处理Maven本地仓库.lastUpdated文件
  16. 吃欢天新面食的26种吃法,中国人的福音!
  17. vue后台管理系统打包上线到node
  18. Win10系统ie浏览器打不开网页的2种解决方法
  19. win10系统开机后正常运行时间不重置
  20. CSDN ARIMA R语言_SPSS做不了主成分分析,那就换R语言实现全过程吧

热门文章

  1. 鼓包精灵2代的清灰与电池问题处理
  2. 欧拉φ函数和欧拉降幂公式
  3. 年薪6万美元/应届医学博士赴加州大学圣迭戈分校博士后就职
  4. mac终端里新建html文件,mac命令行终端怎么创建文件 mac命令行终端创建文件教程...
  5. 【笔记】Oracle删除项目编号多余的数据
  6. 【ArcGIS微课1000例】0053:注记(水平、沿直线、跟随要素、牵引线、弯曲注记)的创建与编辑
  7. 希捷移动硬盘Backup Plus Portable初始化及加密
  8. 学习编程可以从事哪些行业
  9. linux下打印机是文件吗,linux下打印机的配置和使用
  10. 营销之父科特勒万字演讲实录:营销的未来(含PPT和视频回放)