Qt C++ 编译 libevent静态库

一、前言

最近需要将libevent编译为win64的,但是VisualStudio Community已经被我卸载了,然后准备用CMake、Qt Creator、MSVC2017 64bit来重新编译libevent静态库,如下:

二、下载libevent源码

下载路径:Releases · libevent/libeventhttps://github.com/libevent/libevent/releases

三、准备编译

1、先解压刚才下载的压缩包,然后打开Qt Creator → 文件打开文件或项目:libevent-2.1.12-stable\CMakeLists.txt,这里打开后可能需要等待很久。

2、配置CMake,打开CMakeLists.txt修改,需要关掉三个东西,否则依赖会多、编译慢,而且可能会报错

bash 复制代码
EVENT__DISABLE_OPENSSL=ON   # 推荐,不然你还要搞 OpenSSL
EVENT__DISABLE_TESTS=ON     # 关闭测试工程
EVENT__DISABLE_SAMPLES=ON   # 关闭示例

或者

option(EVENT__DISABLE_OPENSSL
    "Define if libevent should build without support for OpenSSL encryption" ON)
option(EVENT__DISABLE_TESTS
    "If tests should be compiled or not" ON)
option(EVENT__DISABLE_SAMPLES
    "Disable sample files" ON)

3、先点击构建 → 清理项目,然后点击构建 →执行CMake

4、等待执行CMake完成,选择

5、点击左下角的"锤子"构建项目,等待完成,在libevent-2.1.12-stable同级目录build-libevent-2.1.12-stable-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug种打开lib文件夹就是前面第一个截图了,库文件就在这个里面。

四、遇到的问题

1、报错OpenSSL找不到之类的,这个需要重新执行CMake,点构建→clear cmake configuration,然后再点构建→清理项目,再次重新执行CMake,和左下角"锤子"。等待构建完成即可。

3、程序打包后,运行报错缺少event.dll文件等,进入编译结果目录build-libevent-2.1.12-stable-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug\bin,将DLL文件全部(也就三个)复制到程序(.exe)同级目录中。

相关推荐
Y_Bk11 小时前
第十七届蓝桥杯C/C++A组省赛
c语言·数据结构·c++·算法·蓝桥杯
Brilliantwxx11 小时前
【C++】 C++11 知识点梳理(上)
开发语言·c++
飞天狗11111 小时前
零基础JavaWeb入门——第4课:表单处理 —— 浏览器怎么把数据发给服务器
java·开发语言·前端·后端·servlet
多彩电脑11 小时前
向AIDE(安卓设备上的Android Studio)导入aar库
android·java·开发语言·androidx
江屿风11 小时前
C++图论基础单源最短路-常规版dijkstra算法/堆优化版dijkstra算法/bellman-ford 算法/spfa 算法流食般投喂
开发语言·c++·笔记·算法·图论
摇滚侠11 小时前
MyBatis 入门到项目实战 MyBatis 逆向工程 62
java·开发语言·mybatis
ch.ju11 小时前
Java Programming Chapter 4——Multi-level inheritance
java·开发语言
Molesidy11 小时前
【Linux】【C++】Linux下的C++编程以及基于GDB的VSCode的C++调试
开发语言·c++
techdashen11 小时前
用 Rust 真正发出 Ping:FFI 类型、newtype 与 MaybeUninit
开发语言·后端·rust
塵觴葉12 小时前
基于Lua协程的简单任务管理
开发语言·lua