【发布时间】:2015-07-23 17:50:16
【问题描述】:
有人可以指导我如何在 Windows 上使用 MinGW 将 .lib 静态库转换为 .dll 文件。
谢谢。
【问题讨论】:
-
您无法转换它,但您可以使用静态 .lib 创建一个 dll 并重新导出所有内容。
-
使用cygwin,可以做gcc -shared -o library.so -lstatic_library。
-
但是如果静态库是使用不同的编译器编译的,你很可能会被搞砸
-
@Wimmel > 您可以使用静态 .lib 创建一个 dll 并重新导出所有内容,请您详细说明一下。我已经成功地将静态库“.a”转换为 Linux 上的共享对象“.so”。现在我想使用 MinGW 将“.lib”文件转换为 Windows 的“.dll”实际上我使用的库可用作 Linux 的静态库“.a”和 Windows 的“.lib”。我只是想从这些静态库中生成共享库。
-
我用IJG-JPEG library 对其进行了测试,我需要一个DllMain 来简单地返回TRUE。
gcc -Wl,-export-all-symbols -Wl,-enable-auto-import -Wl,-no-undefined -Wl,--enable-runtime-pseudo-reloc dllmain.c -Wl,-whole-archive jpeg-9a\libjpeg.a -Wl,-no-whole-archive -shared -o jpeg9a.dll
标签: c++ c dll shared-libraries static-libraries