我正在设置一个混合/msys (mingw.org)环境,在该环境中编译一些使用这种方法生成某些Windows程序的旧代码。这些链接指向库,如libgdi32.a和libz.a等。
我注意到,组合的mingw/msys环境包含两个lib文件夹,每个文件夹都包含不同版本的这些文件。看起来,msys目录中的文件通常更大、更旧。
所以我的问题是:两个lib文件夹的意义是什么,以及为什么相同文件的两个版本?
更详细的背景详细介绍了我所拥有的混合设置,我认为这是相当普通的:
我从这里下载了MinGW (mingw-get-setup.exe):http://www.mingw.org/wiki/Getting_Started,并遵循了我认为是相当标准的安装。
在安装过程中,我选择(在MinGW安装管理器中)包括msys,以及我希望需要的几个库。(因此,我没有为msys执行单独的安装。)我可以运行msys.bat来打开msys窗口,并且可以使用make (和Makefile)编译一个项目。
通过这个普通的设置,我们得到了C:\MinGW,包括C:\MinGW\lib,以及C:\MinGW\msys\1.0\与各种子目录,包括C:\MinGW\msys\1.0\lib。
在msys控制台中,这些库文件夹位于/lib和/ mingw /lib (即: msys设置了一个挂载点,因此mingw出现在msys的根中)。
出现在两个库库中的示例库:
File mingw msys
libz.a 4/21/2018 126k 5/13/2012 343k
libgdi32.a 7/8/2020 221k 1/14/2010 252k
libwinspool.a 7/8/2020 86k 1/14/2010 98k
libws2_32.a 7/8/2020 109k 1/14/2010 82k发布于 2020-07-25 06:27:59
MSYS是使Unix命令工作的工具。类似于Cygwin,它包含一个兼容性/仿真层。MinGW是本机Windows程序的Ffor。您只应包含MinGW项目的文件夹并与其链接。
如果您不使用Unix (bash),那么您甚至不需要MSYS,甚至可以使用像http://winlibs.com这样的独立的MinGW-w64构建。
https://stackoverflow.com/questions/63082490
复制相似问题