记录一次编译openssl的过程
本帖最后由 冷月孤心 于 2024-10-8 18:36 编辑如果是编译3.x,首先找到quic_record_rx.h将它保存为unicode 1200编码即可,不要去设置语言了,这是无用功!网上千篇一律的no asm,我要提醒大家不要no asm 后期使用的时候有可能出现错误。我已经体会过了。打开C++命令行输入编译命令,这里我整理了一下,全部列出来吧:
perl Configure VC-WIN64Ano-shared--prefix=D:\openssl1.1.1_win64
perl Configure VC-WIN32no-shared --prefix=D:\openssl1.1.1_win32
perl Configure VC-WIN64A--prefix=D:\openssl1.1.1_x64_DEBUG
perl Configure VC-WIN32--prefix=D:\openssl1.1.1_x32_DEBUG
nmake //如果想要在静态库输出调试信息就用这条命令。
nmake /f Makefile mod=release //这里需要说明一下,如果编译的是Release则按这条命令,否则编译会出来很多警告信息,提示找不到PDB.这条命令不能用于DEBUG模式。
如果在makefile里面删除掉更好。
LIB_CFLAGS=/Zi /Fdossl_static.pdb /MT /Zl $(CNF_CFLAGS) $(CFLAGS)
修改为
LIB_CFLAGS=/MT /Zl $(CNF_CFLAGS) $(CFLAGS)
删除下面的数据:
1.
-del /Q /F $(LIBS) libcrypto.* libssl.* ossl_static.pdb
2.
@if "$(SHLIBS)"=="" \
"$(PERL)" "$(SRCDIR)\util\copy.pl" ossl_static.pdb "$(libdir)"
编译出来的库使用无警告信息了。
省略测试环节。编译win64要使用两个库文件,否则报错:
#pragma comment (lib, "crypt32")
#pragma comment (lib, "ws2_32")
nmakeinstall
x86的编译x86的库,x64的编译x64库,头文件都是一样的。
编译完成后批量改名
@echo off
rename D:\openssl1.1.1_x32_DEBUG\lib\libcrypto.lib libcrypto_x86.lib
rename D:\openssl1.1.1_x32_DEBUG\lib\libssl.lib libssl_x86.lib
rename D:\openssl1.1.1_x64_DEBUG\lib\libcrypto.lib libcrypto_x64.lib
rename D:\openssl1.1.1_x64_DEBUG\lib\libssl.lib libssl_x64.lib
rename D:\openssl1.1.1_win32\lib\libcrypto.lib libcrypto_static_x86.lib
rename D:\openssl1.1.1_win32\lib\libssl.lib libssl_static_x86.lib
rename D:\openssl1.1.1_win64\lib\libcrypto.lib libcrypto_static_x64.lib
rename D:\openssl1.1.1_win64\lib\libssl.lib libssl_static_x64.lib
我编译好的库
#pragma comment (lib, "crypt32")
#pragma comment (lib, "ws2_32")
#ifdef _DEBUG
#ifdef _WIN64
#pragma comment(lib,"libssl_x64.lib")
#pragma comment(lib,"libcrypto_x64.lib")
#else
#pragma comment(lib,"libssl_x86.lib")
#pragma comment(lib,"libcrypto_x86.lib")
#endif
#else
#ifdef _WIN64
#pragma comment(lib,"libssl_static_x64.lib")
#pragma comment(lib,"libcrypto_static_x64.lib")
#else
#pragma comment(lib,"libssl_static_x86.lib")
#pragma comment(lib,"libcrypto_static_x86")
#endif
#endif
表哥威武牛逼 厉害
冷大好强
原来是冷大哥,过来学习了。 PYG有你更精彩!
页:
[1]