在Windows上构建GnuMP库的dll程序

时间:2014-12-18 09:32:00

标签: c++ windows dll porting

有人可以告诉我在Windows上构建gnuMP库的过程。 我需要一个gnuMP库的DLL,但构建系统不允许我为Windows操作系统创建DLL库。 我尝试使用MinGW和Cygwin进行构建,但是没有创建dll。

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。但是我已经设法在Windows上构建了GnuMP库的dll

在Windows系统上' - -cygwin *',' - -mingw *'和' - -pw32 *'默认为GMP只构建一个静态库,但可以使用

构建DLL
./configure --disable-static --enable-shared

不能同时构建静态和DLL库,因为gmp.h中的某些导出指令必须不同。 GMP的MINGW DLL构建可以与Microsoft C一起使用.Libtool不会安装.lib格式的导入库,但可以使用MS lib创建如下,并将其复制到安装目录。同样适用于libmp和libgmpxx。

cd .libs
lib /def:libgmp-3.dll.def /out:libgmp-3.lib

MINGW将I运行时库“msvcrt.dll”用于I / O,因此想要使用GMP I / O例程的应用程序必须使用“cl / MD”进行编译才能执行相同的操作。如果需要MS C提供的其他C运行时库选项之一,则建议使用GMP字符串函数并将I / O限制在应用程序中。