Windows下CMake rabbitmq-c

本文详细介绍了在Windows环境下使用ActivePerl、Nasm等工具编译openssl的不同类型库(动态、静态、Debug版)的过程,并进一步指导如何通过CMake配置rabbitmq-c源码以链接openssl库,实现音视频应用开发中的关键安全组件搭建。

音视频应用开发系列文章目录

编译openssl (如果不需要openssl,也可以跳过此步骤)

https://blog.youkuaiyun.com/liang19890820/article/details/51658574 // 此大佬已经写的非常清楚完美无可挑剔

以下总结该大佬快速编译

需要软件:ActivePerlNasmOpenSSL源码

ActivePerlNasm下载安装完加入环境变量,打开CMD,根据需要执行以下命令。

// 编译release dynamic library
cd xxx\openssl-1.0.2u
perl Configure VC-WIN32 --prefix=xxx\sdk ## 指定安装目录
ms\do_nasm
cd xxx\VC\bin    ## VS安装目录
vcvars32.bat	 ## VS编译环境初始化
cd xxx\openssl-1.0.2u
nmake -f ms\ntdll.mak  ## 编译
nmake -f ms\ntdll.mak test  ## 测试是否可用
nmake -f ms\ntdll.mak install  ## 安装

// 编译release static library
cd xxx\openssl-1.0.2u
perl Configure VC-WIN32 --prefix=xxx\sdk 
ms\do_nasm
cd xxx\VC\bin
vcvars32.bat
cd xxx\openssl-1.0.2u
nmake -f ms\nt.mak 
nmake -f ms\nt.mak test
nmake -f ms\nt.mak install 

// 编译debug dynamic library
cd xxx\openssl-1.0.2u
perl Configure debug-VC-WIN32 --prefix=xxx\sdk 
ms\do_nasm
cd xxx\VC\bin
vcvars32.bat
cd xxx\openssl-1.0.2u
nmake -f ms\ntdll.mak 
nmake -f ms\ntdll.mak test
nmake -f ms\ntdll.mak install 

// 编译debug static library
cd xxx\openssl-1.0.2u
perl Configure debug-VC-WIN32 --prefix=xxx\sdk
ms\do_nasm
cd xxx\VC\bin
vcvars32.bat
cd xxx\openssl-1.0.2u
nmake -f ms\nt.mak 
nmake -f ms\nt.mak test
nmake -f ms\nt.mak install 

CMake rabbitmq-c

1.下载rabbitmq-c源码

2.解压rabbitmq-c源码到rabbitmq-c-master

2.在rabbitmq-c-master目录下新建文件夹build和sdk

3.打开camke-gui,配置如下

这个时候会报错,提示没有找到OPENSSL的配置

这个时候有两种种方法可以配置解决这个错误,第一就是禁用openssl(ENABLE_SSL_SUPPORT取消勾选),第二个就是把上面编译出的OPENSSL库配置上去,如果想编译rabbitmq为静态库,就配置openssl的库位静态的,如果想编译rabbitmq为动态库,就配置openssl的库位动态的。这里使用动态的配置如下

再次Configure,去掉以下勾选(BUILD_EXAMPLES, BUILD_STATIC_LIBS, BUILD_TESTS)

再次Configure, 然后Generate,最后Open Project

4.右键ALL_BUILD生成

5.右键INSTALL生成

6.不出意外在SDK目录下生成rabbitmq-c开发包

 

### 在 Windows 上安装和配置 RabbitMQ-C 库 #### 准备工作 为了成功安装和配置 `rabbitmq-c` 库,需要先完成一些准备工作。这包括安装必要的工具链以及获取所需的依赖项。 - 需要安装 ActivePerl 来支持某些构建脚本的功能[^1]。 - 使用 CMake 工具来生成适合的项目文件以便于编译[^4]。 #### 获取 rabbitmq-c 源码 可以从官方 GitHub 或镜像站点下载 `rabbitmq-c` 的源代码: ```bash git clone https://github.com/alanxz/rabbitmq-c.git cd rabbitmq-c ``` 或者使用国内镜像站点提供的链接: ```bash git clone https://gitcode.com/gh_mirrors/ra/rabbitmq-c cd rabbitmq-c ``` 此操作会克隆最新的稳定版本至本地目录中[^3]。 #### 编译 rabbitmq-c 库 对于 Windows 平台上的编译过程,推荐采用以下步骤: ##### 设置 CMake 参数 在运行 CMake 命令之前,需定义好目标平台及其相关选项。例如,是否启用 SSL 支持取决于具体需求。如果不需要 SSL 功能,可以通过设置 `-DENABLE_SSL_SUPPORT=OFF` 关闭它;反之则应提供 OpenSSL 的路径并确保其正确无误。 以下是基于动态库模式下的典型命令行参数示例(假设已预先准备好 openssl 动态库): ```cmake mkdir build && cd build cmake .. -G "Visual Studio 16 2019" \ -DCMAKE_INSTALL_PREFIX=C:/path/to/install \ -DENABLE_SSL_SUPPORT=ON \ -DOPENSSL_ROOT_DIR=C:/path/to/openssl ``` 注意替换上述路径为实际环境中对应的位置信息。 ##### 构建与安装 执行下面两条指令即可完成整个项目的构建及最终产物部署到指定位置的过程: ```batch msbuild ALL_BUILD.vcxproj /p:Configuration=Release msbuild INSTALL.vcxproj /p:Configuration=Release ``` 这样就可以获得预设好的头文件夹(librabbitmq)连同对应的二进制共享对象(.dll/.lib)。 #### CLion 中集成 rabbitmq-c 当希望利用 JetBrains 提供的跨平台 IDE ——CLion 进行开发时,除了遵循前述常规流程外还需额外关注几个方面事项[^2]: - **Toolchain**: 确认所使用的 MinGW 或 MSVC toolchains 版本兼容性良好; - **CMakeLists.txt 文件调整**: 可能有必要手动修改工程根目录里的 CMakeLists 文档内容以适应特定场景的需求变化情况。 简单来说就是在原有基础上增加类似这样的片段描述: ```cmake find_package(PkgConfig REQUIRED) pkg_check_modules(RABBITMQ REQUIRED librabbitmq) include_directories(${RABBITMQ_INCLUDE_DIRS}) target_link_libraries(your_target_name ${RABBITMQ_LIBRARIES}) ``` 其中 `${your_target_name}` 替换成自己创建的目标名称字符串值。 --- #### 总结 综上所述,在 Windows 下搭建起一套完整的能够正常工作的 rabbitmq-c 开发环境并非难事,只需按照既定顺序依次处理各个阶段的任务即可达成目的。当然过程中难免遇到各种意想不到的小插曲,但只要耐心查找资料总能找到解决方案。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值