我正在尝试为我在 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也可能有帮助。
关于dll - 使用 MinGW64 在 Windows 中创建 OpenSSL dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21393937/