windows 上编译 libevent
来源:互联网 发布:淘宝最帅男模特顾义伟 编辑:程序博客网 时间:2024/05/19 04:54
libevent 官网下载最新的安装包 libevent-2.1.8-stable.tar.gz
解压
打开 vs2013 命令行环境
我的是这个
VS2013 x64 本机工具命令提示
切换到 前面解压的 libevent 目录
nmake Makefile.nmake
生成了3个lib :
libevent.lib
libevent_core.lib
libevent_extras.lib
然后报错
NMAKE : fatal error U1073: 不知道如何生成“print-winsock-errors.obj”
Stop.
NMAKE : fatal error U1077: “I:\vs\VC\BIN\amd64\nmake.exe”: 返回代码“0x2”
Stop.
打开 Makefile.nmake 文件
是生成 libevent_openssl.lib 的时候遇到了问题
# OPENSSL_DIR=c:\openssl
SSL_OBJS=bufferevent_openssl.obj
我电脑上压根就没有 openssl
于是官网下载 openssl : 最新的
openssl-1.1.0f.tar.gz
发现opensll安装得用perl
于是想从官网下载 , 官网打开太慢了,放弃~~
baidu那下了个
ActivePerl_5.16.2.3010812913.msi
双击开始安装
然后安装 openssl
perl Configure VC-WIN64A
网上说的 ms\do_win64a
我的ssl的 ms 下就没这个文件
我按照 ssl 根目录的install 说明
运行了
nmake
nmake test
这些都没有问题
nmake install
时似乎是装上了,但是报了一堆的错,我不知道是否最终安装成功了
类似下面的错误
Cannot find "ASN1_generate_nconf(3)" in podpath: cannot find suitable replacemen
t path, cannot resolve link
继续libevent的安装
libevent 目录,vc命令行
nmake Makefile.make
问题依然 print-winsock-errors.obj 找不到
ok 那就先不搞 ssl 的库吧
就用
libevent.lib
libevent_core.lib
libevent_extras.lib
生成的这3个库吧
写了个简单的 mian.cc,里面就用了下time
link 失败 链接器一直找不到 libevnt相关的函数
各种尝试后,放弃
最后我是这样做的。
打开makefile.nmake
参考里面的 目录包含 以及 .c 组织
我用vs2013建了个控制台程序
把.c 一个个 托到工程里
ok ,问题解决
看就这3行
CORE_OBJS=event.obj buffer.obj bufferevent.obj bufferevent_sock.obj \
bufferevent_pair.obj listener.obj evmap.obj log.obj evutil.obj \
strlcpy.obj signal.obj bufferevent_filter.obj evthread.obj \
bufferevent_ratelim.obj evutil_rand.obj
WIN_OBJS=win32select.obj evthread_win32.obj buffer_iocp.obj \
event_iocp.obj bufferevent_async.obj
EXTRA_OBJS=event_tagging.obj http.obj evdns.obj evrpc.obj
对应的 .c 都搞到工程里即可
稍后我把工程文件上传
这里分享一个小技巧
如果有个别.c没加进工程
链接提示找不到
比如 _event_xxx 找不到 在 xxxx 里引用
Ctrl shift F 然后在libevent源码文件夹搜索关键字 event_xxx (少了个下划线)
把那个找到的.c 加到工程里即可
- windows 上编译 libevent
- Windows 上静态编译 Libevent 2.0.10
- libevent在Windows上的编译
- Windows下编译libevent
- Windows下编译libevent
- libevent windows 编译
- Windows平台编译libevent
- libevent windows编译
- Windows 编译libevent库
- windows 上安装 libevent
- windows 上安装 libevent
- libevent 库windows下编译
- windows下libevent VS2012编译
- windows中编译libevent库
- windows下libevent VS2012编译
- Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器
- Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器
- Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器
- 为什么基于Linux的安卓没有Linux安全?
- 深度学习利器:分布式TensorFlow及实例分析
- 获取Exception的详细信息
- 1037. Magic Coupon (25)
- Beta版Linux Mint又发大招
- windows 上编译 libevent
- 冒泡排序法
- Hadoop基础教程-第7章 MapReduce进阶(7.3 MapReduce API)(草稿)
- mybatis入门案例1
- response.redirect和server.Transfer的差别详解
- Uva.10340 All in All
- rrr
- CodeForce Round #479 A. Karen and Morning
- GreenDao3.0在Android Studio中的简单使用