- UID
- 64823
注册时间2009-12-8
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 开心 2024-12-31 00:26 |
---|
签到天数: 77 天 [LV.6]常住居民II
|
本帖最后由 冷月孤心 于 2024-10-8 18:36 编辑
如果是编译3.x,首先找到quic_record_rx.h将它保存为unicode 1200编码即可,不要去设置语言了,这是无用功!网上千篇一律的no asm,我要提醒大家不要no asm 后期使用的时候有可能出现错误。我已经体会过了。打开C++命令行输入编译命令,这里我整理了一下,全部列出来吧:
perl Configure VC-WIN64A no-shared --prefix=D:\openssl1.1.1_win64
perl Configure VC-WIN32 no-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")
nmake install
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
|
评分
-
查看全部评分
|