Dll 在MinGW中使用libdl.so
我想在MinGW中生成一个dll文件,为此我有几个对象依赖项,其中一个对象依赖项是libdl。因此,我在unix中添加此对象,简单如下: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来构建 您可以从下载部分获得预构建的二进制文件
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。