windows下编译libevent源码

Linux下编译libevent源码》讲述了linux下编译libevent源码的方法,本文讲述其在windows平台的编译。

一、下载libevent源码

https://libevent.org/ 下载libevent源码并解压。

二.安装依赖项

下载安装OpenSSL。https://slproweb.com/products/Win32OpenSSL.html

libevent在windows下编译有两种方式,一种是使用命令行编译,一种是通过visual studio编译。下面分别演示这两种方式。

三.使用命令行编译libevent源码

以管理员身份运行Visual Studio的x86本机工具命令提示符。

进入libevent源码目录,执行:

nmake /f Makefile.nmake

编译过程中可能会遇到的报错如下:

1、“uint32_max”未声明的标识符

解决方法:源码目录下的“minheap-internal.h”里面加一句“#include<stdint.h>”

2、无法解析的外部符号 if_nametoindex

 解决方法:

test/Makefile.nmake 中加入Iphlpapi.lib

编译成功后,可以看到源码目录下生成了libevent.lib、libevent_extras.lib、libevent_core.lib

四.使用visual studio编译libevent源码

推荐用这种方式编译,因为之后可以用visual studio阅读libevent源码。以管理员身份运行cmake-gui。设置源码目录和生成的工程所在目录。 点击"Configure"按钮。

由于我安装的是vs2019,并且安装的是Win32 OpenSSL,所以设置如下:

 

然后可能有如下报错:

提示找不到OpenSSL。所以我们还得设置环境变量 

设置完后,重新以管理员身份运行cmake-gui,再次"Configure" -> "Generate",发现生成vs工程成功了。 

 

PS:如果cmake-gui设置错了,比如设置错了win32/x64这种参数,则可以通过删除CMakeCache.txt,再重新打开cmake-gui来重新设置。

 

打开libevent.sln,“解决方案libevent" -> 生成解决方案 

可以发现编译成功。

在lib/Debug目录下生成库文件。

在include目录下生成了头文件。

 

参考:《Libevent 学习一:Libevent 源码编译

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows编译libevent需要使用类Unix环境的工具,比如Cygwin或MinGW。下面以MinGW为例介绍如何编译libevent: 1. 下载libevent源代码 你可以从libevent官网上下载最新版本的源代码。下载后将源代码解压到一个目录中。 2. 安装MinGW 你需要安装MinGW,可以从MinGW官网上下载安装程序,按照安装向导进行安装即可。 3. 编译libevent 打开命令行窗口,进入到libevent源代码目录,执行以下命令: ``` ./configure --prefix=/usr/local --disable-shared make make install ``` 其中,`--prefix=/usr/local`选项指定安装路径为`/usr/local`,`--disable-shared`选项禁用共享库的编译。`make`命令用于编译源代码,`make install`命令用于安装编译后的文件。 4. 配置环境变量 将MinGW的bin目录添加到系统环境变量中,以便在命令行窗口中可以直接访问MinGW的工具。比如,如果你的MinGW安装在`C:\MinGW`目录下,那么需要将`C:\MinGW\bin`加入到系统环境变量中。 至此,你就成功编译libevent库,并将其安装到了系统中。在编译你的程序时,需要指定libevent的头文件和库文件路径,以及链接libevent库。比如,使用gcc编译时,可以使用以下命令: ``` gcc -I/usr/local/include -L/usr/local/lib -levent your_program.c -o your_program ``` 其中,`-I`选项用于指定libevent的头文件路径,`-L`选项用于指定libevent的库文件路径,`-levent`选项用于链接libevent库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值