我正在尝试为Windows中的项目构建OpenSSL。我为此使用MinGW64。但是,当尝试构建共享库时,OpenSSL dll.a仍是存档文件。我将OpenSSL配置如下:

Configure --cross-compile-prefix=x86_64-w64-mingw32- --install-prefix=C:\install --prefix=/openssl-1.0.1e shared no-idea no-rc5 no-mdc2 mingw64

我希望有人可以帮助我解决我做错的事情。

最佳答案

我不相信OpenSSL支持该配置。
Configure具有MinGW64目标,但看起来它仅建立静态归档。

# MinGW
"mingw", "gcc:-mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer
-O3 -march=i486 -Wall::-D_MT:MINGW32:-lws2_32 -lgdi32 -lcrypt32:BN_LLONG
${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_asm}:coff:win32:
cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a",
...
"mingw64", "gcc:-mno-cygwin -DL_ENDIAN -O3 -Wall -DWIN32_LEAN_AND_MEAN -DUNICODE
-D_UNICODE::-D_MT:MINGW64:-lws2_32 -lgdi32 -lcrypt32:SIXTY_FOUR_BIT RC4_CHUNK_LL
DES_INT EXPORT_VAR_AS_FN:${x86_64_asm}:mingw64:win32:cygwin-shared:-D_WINDLL:
-mno-cygwin:.dll.a",

但我认为应将其调用为:
perl Configure mingw64 no-shared no-asm --prefix=/C/install

您可以根据需要复制/粘贴mingw64目标并打开它的旋钮。交叉编译时,我经常复制类似的目标。

OpenSSL for Windows可能也有帮助。

08-28 01:48