我想在MinGW中生成一个动态链接库文件,为此我有几个对象依赖项,其中一个对象依赖项是libdl.so,我在unix中简单地添加了这个对象:
g++ xx.o yy.o /usr/lib/libdl.so -o module.so但是在MinGW中,我完全不知道如何添加这个对象。有什么想法吗?
发布于 2012-11-26 17:40:11
有一个可以像在Unix下一样使用的MinGW port of libdl。引述自网站:
这个库在Windows API中的动态链接库函数周围为dlfcn实现了一个包装器,如POSIX和SUS中所指定的那样。
它需要MinGW来构建。
您可以从下载部分获得预先构建的二进制文件(带有MinGW gcc 3.4.5)和捆绑的源代码。
以下命令在标准MinGW安装(从MinGW外壳运行)中构建和安装它:
./configure --prefix=/ --libdir=/lib --incdir=/include && make && make install
要将库编译为DLL,请使用以下命令:
g++ -shared xx.o yy.o -ldl -o module.dll
发布于 2016-02-05 20:40:47
我遇到了同样的问题(msys2,32位版本的编译器等)。
对我来说,我发现libdl.a在/usr/lib中可用,但在/mingw32/lib中不可用。我能够通过将它链接到/mingw32/lib文件夹来解决这个问题:
ln -s /usr/lib/libdl.a /mingw32/libhttps://stackoverflow.com/questions/12455160
复制相似问题