在 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 狂编译代码吧
相关文章
|
4月前
|
IDE 关系型数据库 开发工具
使用Visual Basic进行Windows窗体开发
【4月更文挑战第27天】本文介绍了使用Visual Basic进行Windows窗体(WinForms)开发的步骤,从搭建开发环境到创建、设计用户界面,再到编写事件驱动的代码和数据绑定。Visual Basic结合WinForms提供了一种易学易用的桌面应用开发方案。通过调试、优化、部署和维护,开发者可以构建专业应用程序。随着技术发展,掌握最新UI设计和开发工具对于保持竞争力至关重要。本文为初学者提供了基础指导,鼓励进一步探索和学习。
120 0
|
4月前
|
Linux 编译器 数据安全/隐私保护
Windows10 使用MSYS2和VS2019编译FFmpeg源代码-测试通过
FFmpeg作为一个流媒体的整体解决方案,在很多项目中都使用了它,如果我们也需要使用FFmpeg进行开发,很多时候我们需要将源码编译成动态库或者静态库,然后将库放入到我们的项目中,这样我们就能在我们的项目中使用FFmpeg提供的接口进行开发。关于FFmpeg的介绍这里就不过多说明。
227 0
|
4月前
|
Unix 编译器 开发者
Qt5.14.2 轻松掌握Qt中的压缩与解压缩:QuaZIP的神秘面纱与实战演练之windows环境编译
Qt5.14.2 轻松掌握Qt中的压缩与解压缩:QuaZIP的神秘面纱与实战演练之windows环境编译
494 0
|
4月前
|
关系型数据库 数据库 C++
【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)
【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)
|
3月前
|
C++ Python Windows
在Visual Studio中使用Python(Windows)
在Visual Studio中使用Python(Windows)
|
1月前
|
监控 机器人 Unix
GoLand——windows下如何编译Linux二进制文件
GoLand——windows下如何编译Linux二进制文件
29 1
GoLand——windows下如何编译Linux二进制文件
|
1月前
|
C++ Windows
Windows下编译64位CGAL
Windows下编译64位CGAL
29 0
|
1月前
|
编译器 Linux C语言
Windows下编译并使用64位GMP
Windows下编译并使用64位GMP
59 0
|
2月前
|
Java Linux 开发工具
Windows环境下Android Studio v1.0安装教程
Windows环境下Android Studio v1.0安装教程
62 0
|
3月前
|
C++
Windows10键盘快捷键及Visual Studio2017键盘快捷键(常用)
Windows10键盘快捷键及Visual Studio2017键盘快捷键(常用)