返回

提问 添加收藏

求助配置问题,win10下msys编译openssl提示 'ERROR_INSUFFICIENT_BUFFER' undeclared

本页包含3张图片,默认未加载,显示所有图片

a4g 发布于 2018年03月14日 (共有2个回帖)

C/C++萌新求助。

按youtube教程按步骤安装所需的软件和配置path后

在msys 尝试 对 openssl 1.0.2k/n  执行以下编译命令

./config

make

得到报错

$ make
making all in crypto...
make[1]: Entering directory `/c/Deps/openssl-1.0.2k/crypto'
perl ../util/mkbuildinf.pl "gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_MT -DDSO_WIN32 -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -march=i486 -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM" "mingw" >buildinf.h
gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_MT -DDSO_WIN32 -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -march=i486 -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM   -c -o cryptlib.o cryptlib.c
cryptlib.c: In function 'OPENSSL_isservice':
cryptlib.c:833:27: error: 'ERROR_INSUFFICIENT_BUFFER' undeclared (first use in this function)
         GetLastError() != ERROR_INSUFFICIENT_BUFFER)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~
cryptlib.c:833:27: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [cryptlib.o] Error 1
make[1]: Leaving directory `/c/Deps/openssl-1.0.2k/crypto'
make: *** [build_crypto] Error 1

 

msys下查看perl及gcc版本如下图

点击加载图片

 

按我粗浅的理解,字面意思是说 ERROR_INSUFFICIENT_BUFFER 这个常量未被定义,检查openssl 源码内只有1处出现。

应该是引用自 mingw路径下 include/winerror.h 内, 但不知什么原因可能是编译配置或mingw的原因未引用在内,已确认mingw路径下的 .h内存在这个定义见下截图

点击加载图片

 

【环境】

win10 64位

perl v5.18.1

gcc.exe (MinGW.org GCC-6.3.0-1) 6.3.0

openssl 源码 1.0.2k

path配置如下图

点击加载图片

 

文明上网,理性发言
客户端 Android iPhone WP7