从0开始完成ActiveMQ-cpp在windows_x86平台的编译(从编译openssl开始)

简介

由于需要将一个项目从linux迁移到windows系统,在互联网没有找到【免费】且【免登录】的x64资源,openssl也已经找不到1.1.1w版本的下载资源了,所以我搭建了虚拟机环境,从编译openssl开始完成activemq的项目编译。

基础环境安装

编译环境介绍

电脑系统:win10 1909
cpu:ryzen 2700x

安装visual studio 2010

下载地址

/* by 01130.hk - online tools website : 01130.hk/zh/chaodai.html */
ed2k://|file|cn_visual_studio_2010_professional_x86_dvd_532145.iso|2591844352|6001253431AFE573E4344F5A0B1D9CAC|/

安装

/* by 01130.hk - online tools website : 01130.hk/zh/chaodai.html */
1. 双击打开:cn_visual_studio_2010_professional_x86_dvd_532145.iso
2. 双击steup.exe安装visual studio 2010

编译openssl1.1.1

安装strawberry-perl

下载地址

https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54201_64bit/strawberry-perl-5.42.0.1-64bit.msi

安装nasm

下载地址

https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/nasm-2.15.05-installer-x64.exe

本地编译openssl_1.1.1

下载openssl_1.1.1w源码

https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz

解压openssl_1.1.1源码

tar -xzvf openssl-1.1.1w.tar.gz

编译openssl_1.1.1w源码

1. 在开始菜单找到“Visual Studio x64 Win64 命令提示(2010)”,右键管理员打开
2. cd [openssl解压目录]  例如:cd C:\Users\admin123\Desktop\openssl-1.1.1w
3. perl configure VC-WIN64A --prefix="C:\Users\admin123\Desktop\openssl-1.1.1w\build_x64" no-asm   //如果是32位,则将VC-WIN64A改为VC-WIN32
4. nmake clean   //清理上次编译内容
5. nmake //编译openssl
6. nmake tests  //测试编译的openssl是否正常
7. 新建目录 C:\Users\admin123\Desktop\openssl-1.1.1w\build_x64
6. nmake install //安装到"C:\Users\admin123\Desktop\openssl-1.1.1w\build_x64"

本地编译apr库

下载地址

https://dlcdn.apache.org/apr/apr-1.7.6-win32-src.zip

解压源码

使用windows解压软件,解压apr-1.7.6-win32-src.zip

禁用ipv6

修改include\apr.hw文件,将#define APR_HAVE_IPV6改为0

开始编译

// x64 Release
nmake -f Makefile.win ARCH="x64 Release" PREFIX="C:\Users\admin123\Desktop\activemq\apr-1.7.6\build_x64_Release" buildall install clean
// ***************
// 本人仅完成了x64编译,以下命令遇到的问题自行处理
// ***************
// x64 Debug
nmake -f Makefile.win ARCH="x64 Debug" PREFIX="C:\Users\admin123\Desktop\activemq\apr-1.7.6\build_x64_Debug" buildall install clean
// Win32 Release
nmake -f Makefile.win ARCH="Win32 Release" PREFIX="C:\Users\admin123\Desktop\activemq\apr-1.7.6\build_win32_Release" buildall install clean
// Win32 Debug
nmake -f Makefile.win ARCH="Win32 Debug" PREFIX="C:\Users\admin123\Desktop\activemq\apr-1.7.6\build_win32_Debug" buildall install clean

// 示例:编译并运行测试,仅支持debug模式
nmake -f Makefile.win ARCH="x64 Debug" PREFIX="C:\Users\admin123\Desktop\activemq\apr-1.7.6\build_x64" buildall checkall install clean

编译apriconv库

下载地址

https://dlcdn.apache.org//apr/apr-iconv-1.2.2-win32-src.zip

解压源码

使用windows解压软件,解压apr-1.7.6-win32-src.zip

环境准备

1.使用visual studio 2010打开apriconv.dsw文件
2.在apriconv项目右键“属性”
3.在“配置属性”->“VC++目录”->“包含目录”中设置apr库头文件的路径
4.在“配置属性”->“VC++目录”->“库目录”中设置apr库文件的路径
// 下面这个是编译出dll必须的的,仅编译lib可以忽略
5.在“配置属性”->“链接器”->“输入”->“附加依赖项”中加入“libapr-1.lib”

编译lib

1.选择Release和x64,开始编译window_x64_release架构的lib库
2.输出目录“x64”

编译dll

1.在apriconv项目右键”属性“
2.将“配置属性”->“常规”中的“目标文件扩展名”和“配置类型”改为dll
3.选择Release和x64,开始编译window_x64_release架构的dll库
2.输出目录“x64”

编译aprutil库

下载地址

https://dlcdn.apache.org//apr/apr-util-1.6.3-win32-src.zip

解压源码

使用windows解压软件,解压apr-util-1.6.3-win32-src.zip

环境准备

安装expat组件

说明:此组件aprutil项目有依赖

下载地址
// 32位
https://github.com/libexpat/libexpat/releases/download/R_2_7_3/expat-win32bin-2.7.3.zip
// 64位
https://github.com/libexpat/libexpat/releases/download/R_2_7_3/expat-win64bin-2.7.3.zip
解压zip
使用windows解压软件,解压expat-win64bin-2.7.3.zip

目录结构准备

// 备注:以下这么改是因为Makefile.win中对相关项目路径进行了指定
1.将apr库的源码目录更名为apr
2.将apriconv库的源码目录更名为apr-iconv
3.将aprutil库的源码目录更名为apr-util

// 备注:这个没有强制要求
4.在Source目录新建目录expat,在expat目录中新增子目录include
5.将expat-win64bin-2.7.3.zip中的Source\lib目录内容复制到include目录中
6.将expat-win64bin-2.7.3.zip中的Bin目录内容复制到expat中

层级结构如下:
Source/
├─apr/
├─apr-iconv/
├─apr-util/
└─expat/
    └─include/

在visual studio 2010中打开项目

使用visual studio 2010打开目录中的aprutil.dsw文件

配置apr_crypto_openssl项目依赖

1.在“配置属性”->“VC++目录”->“包含目录”中设置openssl库头文件的路径(openssl-1.1.1w\build_x64\include)
2.在“配置属性”->“VC++目录”->“库目录”中设置open库文件的路径(openssl-1.1.1w\build_x64\lib)
// 在ssl_1.1.1版本中,ssl的库改名了,需要手动调整
3.在“配置属性”->“链接器”->“输入”->“附加依赖项”中添加“libcrypto.lib”和“libssl.lib”
4.在“配置属性”->“链接器”->“输入”->“附加依赖项”中删除“libeay32.lib”和“ssleay32.lib”

配置aprutil项目依赖

// 配置apr库路径
1.在“配置属性”->“VC++目录”->“库目录”中设置apr库文件的路径(apr/x64)
// 配置apr-iconv库路径
2.在“配置属性”->“VC++目录”->“库目录”中设置apriconv库文件的路径(apr-iconv/x64)
// 配置expat库路径
3.在“配置属性”->“VC++目录”->“包含目录”中设置expat库头文件的路径(Source/expat/include)
4.在“配置属性”->“VC++目录”->“库目录”中设置expat库文件的路径(Source/expat)
// 编译dll时,增加明确依赖项,lib可以忽略
5.在“配置属性”->“链接器”->“输入”->“附加依赖项”中添加库“libapr-1.lib、libexpat.lib、apriconv-1.lib、wldap32.lib”

开始编译

在visual studio 2010中,选择x64_Release架构,开始编译

编译activeMQ库

下载地址

https://dlcdn.apache.org/activemq/activemq-cpp/3.9.5/activemq-cpp-library-3.9.5-src.zip

解压源码

使用windows解压软件,解压activemq-cpp-library-3.9.5-src.zip

环境准备

1.使用visual studio 2010打开vs2010-build/activemq-cpp.sln
2.在“配置属性”->“VC++目录”->“包含目录”添加apr、apriconv、aprutil、openssl头文件所在目录
2.在“配置属性”->“VC++目录”->“库目录”添加apr、apriconv、aprutil、openssl库文件所在目录
4.在“配置属性”->“链接器”->“输入”->“附加依赖项”中添加配置“libapr-1.lib;apriconv-1.lib;aprutil-1.lib;ws2_32.lib;”

开始编译

1.在visual studio 2010中,选择x64_Release开始编译

结束语

从创建虚拟机到最终完成x64_release版本的activemq-cpp编译,总计耗时3天。
尝试使用默认配置编译apr库,但是没有成功,所以屏蔽了ipv6功能。

内容概要:本文介绍了基于贝叶斯优化的CNN-LSTM混合神经网络在时间序列预测中的应用,并提供了完整的Matlab代码实现。该模型结合了卷积神经网络(CNN)在特征提取方面的优势与长短期记忆网络(LSTM)在处理时序依赖问题上的强大能力,形成一种高效的混合预测架构。通过贝叶斯优化算法自动调参,提升了模型的预测精度与泛化能力,适用于风电、光伏、负荷、交通流等多种复杂非线性系统的预测任务。文中还展示了模型训练流程、参数优化机制及实际预测效果分析,突出其在科研与工程应用中的实用性。; 适合人群:具备一定机器学习基基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)础和Matlab编程经验的高校研究生、科研人员及从事预测建模的工程技术人员,尤其适合关注深度学习与智能优化算法结合应用的研究者。; 使用场景及目标:①解决各类时间序列预测问题,如能源出力预测、电力负荷预测、环境数据预测等;②学习如何将CNN-LSTM模型与贝叶斯优化相结合,提升模型性能;③掌握Matlab环境下深度学习模型搭建与超参数自动优化的技术路线。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注贝叶斯优化模块与混合神经网络结构的设计逻辑,通过调整数据集和参数加深对模型工作机制的理解,同时可将其框架迁移至其他预测场景中验证效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值