Dll 在MinGW中使用libdl.so

Dll 在MinGW中使用libdl.so,dll,mingw,Dll,Mingw,我想在MinGW中生成一个dll文件,为此我有几个对象依赖项,其中一个对象依赖项是libdl。因此,我在unix中添加此对象,简单如下: g++ xx.o yy.o /usr/lib/libdl.so -o module.so 但是在MinGW中,我不知道如何添加这个对象。有什么想法吗?有一种方法可以像在Unix下一样使用。网站引述: 该库围绕Windows API中的动态链接库函数实现了POSIX和SUS中指定的dlfcn包装器 它需要MinGW来构建 您可以从下载部分获得预构建的二进制文件

我想在MinGW中生成一个dll文件,为此我有几个对象依赖项,其中一个对象依赖项是libdl。因此,我在unix中添加此对象,简单如下:

g++ xx.o yy.o /usr/lib/libdl.so -o module.so
但是在MinGW中,我不知道如何添加这个对象。有什么想法吗?

有一种方法可以像在Unix下一样使用。网站引述:

该库围绕Windows API中的动态链接库函数实现了POSIX和SUS中指定的dlfcn包装器

它需要MinGW来构建

您可以从下载部分获得预构建的二进制文件(使用MinGW gcc 3.4.5)和捆绑的源代码

以下命令在标准MinGW安装(从MinGW shell运行)中构建并安装它:

/configure--prefix=/--libdir=/lib--incdir=/include&&make&&make install

要将库编译为DLL,请使用以下命令:


g++-shared xx.o yy.o-ldl-o module.dll

我遇到了同样的问题(msys2,32位版本的编译器等)

对我来说,我发现libdl.a在/usr/lib中可用,但在/mingw32/lib中不可用。我可以通过将其链接到/mingw32/lib文件夹来解决此问题:

ln -s /usr/lib/libdl.a /mingw32/lib

这将是msys2层libdl,而不是纯win32 libdl。