在 Windows 上使用 Visual Studio 编译 CURL

简介:

导语:

  • 教你科学地编译 Windows 版本的 libcurl (使用Windows SSPI或者OpenSSL)

准备工具

  • CMake (3.4.0)
  • Zlib (1.2.8)
  • libcurl (7.45.0)
  • OpenSSL (1.0.2d)
  • Visual Studio 2015

目标

  • 得到可以使用的 libcurl 静态库

步骤

  • 编译Zlib

    打开CMake,把 Zlib 目录下的 CMakeList.txt 拖进去,生成解决方案,这一步不能用 contrib\vstudio 下的 sln,里面的坑不少,尤其是低版本转高版本,生成解决方案后用VS打开,然后编译 Zlib 的静态库。

  • 编译 OpenSSL (如果用 SSPI 可略过这步)

    1. 装一个32位的Perl
    2. perl Configure VC-WIN32 no-asm --prefix:安装目录
    3. ms\do_nasm
    4. nmake -f ms\nt.mak -a
    5. nmake -f ms\nt.mak install
  • 编译 libcurl

    1. CMake 打开 CMakeList.txt
    2. Add Entry

      ZLIB_INCLUDE_DIR D:/developer/include/zlib

      ZLIB_LIBRARIES D:/developer/library/zlib

      OPENSSL_INCLUDE_DIR D:/developer/include

      OPENSSL_LIBRARIES D:/developer/library/openssl

    3. 注意勾选 Advanced 否则有可能失效

    4. Configure时,你要么用 OpenSSL,要么用Windows SSPI,如果你用 OpenSSL,在用 CMake 生成CURL的解决方案时,要把 CURL_WINDOWS_SSPI 这个选项的给去掉(要出现这个选项,需要勾选 CMake 的 Advanced),否则会出现结构重定义的问题,如果你不使用 OpenSSL,不传 OPENSSL_INCLUDE 和 OPENSSL_LIBRARIES 进去就好,然后把CMake里那个CMAKE_USE_OPENSSL的选项给去掉,不过前提是你是在编译Windows用的libcurl。

结束

  • 开启Visual Studio 2015 狂编译代码吧
相关文章
|
17天前
|
IDE 关系型数据库 开发工具
使用Visual Basic进行Windows窗体开发
【4月更文挑战第27天】本文介绍了使用Visual Basic进行Windows窗体(WinForms)开发的步骤,从搭建开发环境到创建、设计用户界面,再到编写事件驱动的代码和数据绑定。Visual Basic结合WinForms提供了一种易学易用的桌面应用开发方案。通过调试、优化、部署和维护,开发者可以构建专业应用程序。随着技术发展,掌握最新UI设计和开发工具对于保持竞争力至关重要。本文为初学者提供了基础指导,鼓励进一步探索和学习。
|
17天前
|
关系型数据库 MySQL 开发工具
windows编译poco c++库
windows编译poco c++库
|
17天前
|
Unix 编译器 开发者
Qt5.14.2 轻松掌握Qt中的压缩与解压缩:QuaZIP的神秘面纱与实战演练之windows环境编译
Qt5.14.2 轻松掌握Qt中的压缩与解压缩:QuaZIP的神秘面纱与实战演练之windows环境编译
174 0
|
17天前
|
Linux 编译器 数据安全/隐私保护
Windows10 使用MSYS2和VS2019编译FFmpeg源代码-测试通过
FFmpeg作为一个流媒体的整体解决方案,在很多项目中都使用了它,如果我们也需要使用FFmpeg进行开发,很多时候我们需要将源码编译成动态库或者静态库,然后将库放入到我们的项目中,这样我们就能在我们的项目中使用FFmpeg提供的接口进行开发。关于FFmpeg的介绍这里就不过多说明。
100 0
|
17天前
|
计算机视觉 Windows
OpenCV + CLion在windows环境下使用CMake编译, 出现Mutex相关的错误的解决办法
OpenCV + CLion在windows环境下使用CMake编译, 出现Mutex相关的错误的解决办法
20 0
|
17天前
|
测试技术 API Windows
Windows 如何使用 cURL 命令?快速上手
在工作流程中,为了快速验证 API 接口有效性,团队成员经常转向直接执行 cURL 命令的方法。这种做法不仅节省时间,而且促进了团队效率的提升。对于使用 Windows 系统的用户来说,这里有一套详细的操作指南来执行 cURL 命令。
|
17天前
|
前端开发 Unix 开发工具
windows使用cygwin编译Xyce
windows使用cygwin编译Xyce
27 0
|
17天前
|
C语言 iOS开发 C++
使用visualstudio编译
使用visualstudio编译
40 0
|
17天前
|
Windows
2024最新Melodyne Studio 5.3.1 Windows版&Mac版
Melodyne Studio是一款专业音频编辑软件,由Celemony公司开发。
|
17天前
|
开发工具 git C++
libevent-windows VS2019-cmake 编译笔记
本文主要本文主要记录个人在使用window10使用cmake编译libevent遇到了一点小问题,这里就简单的记录一下,给cmake编译项目不熟悉的朋友一点帮助记录个人在使用window10使用cmake编译libevent遇到了一点小问题,这里就简单的记录一下,给cmake编译项目不熟悉的朋友一点帮助
62 0