MinGW DLL 项目与 linux 的兼容性

MinGW DLL project compatability with linux

我最近通过 CodeBlocks IDE 使用 MinGW (4.8.1) 编译器创建了一个 DLL 项目,在调试输出文件夹中我有:我的“.dll”("AttribRdr.dll" 在这种情况下)带有导出定义文件的文件和最后一个“.a”文件("libAttribRdr.a" 在这种情况下)。

据我所知,为基于 Linux/Unix 的操作系统构建的程序使用“.a”格式的库。我的问题是:我可以在 Linux 系统上使用 MinGW 在我的 Windows 系统上生成的那个“.a”文件,而不必更改库的代码或重新编译吗?很遗憾,我必须使用“.a”库更改程序的代码,否则我可以按原样使用那个“.a”文件吗?

我问这个是因为我知道 MinGW 的目标是成为一个 "cross-platform" C++ 编译器,如果我可以在 Linux 系统上使用生成的“.a”文件而无需重新编译它会大大减少我的工作量。

要在 Linux 环境中使用基于 Windows 构建的库(或可执行文件),您需要交叉编译代码。 GCC 能够交叉编译 - 所以你可以研究这个话题,有很多信息。