未找到 MinGW msys 包:一般建议如何进行
Posted
技术标签:
【中文标题】未找到 MinGW msys 包:一般建议如何进行【英文标题】:MinGW msys package not found: General advice how to proceed 【发布时间】:2016-03-14 21:35:09 【问题描述】:我时不时地想用 mingw 从源代码编译一些东西(在 Windows 上)。我打开 msys,输入 ./configure,它说
checking for...xxxxxx
我有第一个问题:
mingw 在哪里检查? 它检查什么? .dll、.a、.o.、...什么?偶尔会出现类似
的错误configure: error: Package requirements <ogg >= 1.3> were not met:
No package 'ogg' found.
然后我用谷歌搜索“你可以输出默认查找目录”,好吧,我输入 gcc -print-search-dirs
并查看目录列表,例如 C:/mingw/lib、C:/mingw/lib/gcc , ...
这些文件夹包含.a
-文件。你猜怎么着,其中一些还包含libogg.a
。那它为什么抱怨呢?也许版本号?不,我下载了最新的源代码并编译了它,并将 .a 文件放入目录中。同样的错误。它让我疯狂!请给点建议。
【问题讨论】:
【参考方案1】:传统上,通常情况下,当./configure
脚本检查一个库时,
您正在配置的包需要链接,它至少检查库本身的存在和可用性,以及
对于库的头文件,没有它编译器不能使用
库的 API。 (我通常说,因为任何给定的./configure
检查
实际上是由包维护者编写的。它与您的编译器无关)。
检查libfoobar
的存在性和可用性通常不意味着./configure
检查在文件系统中搜索libfoobar.dll
、libfoobar.a
或任何。这意味着./configure
检查只是尝试在安装libfoobar
时,使用适合这样做的命令来编译和链接样本程序与libfoobar
。
通常(并且越来越多),./configure
检查库 libfoobar
会调用
pkg-config
工具尝试
检索正确的编译器和链接器标志以用于libfoobar
。为了使这次尝试成功,pkg-config
元数据
与库包关联的文件 foobar.pc
必须在标准中找到
放置在文件系统中,例如/usr/lib/pkgconfig
, /usr/share/pkgconfig
对于库,加上它的标题,加上它的pkg-config
元数据(如果有的话)
全部可用于./configure
有必要安装 development 包
libfoobar
,而不是基本包。开发包
通常与基本包具有相同的名称,并添加了-dev
或-devel
组件,例如libfoobar-dev
如果./configure
检查失败并出现以下错误:
No package 'foobar' found.
这意味着检查试图检索pkg-config
元数据
foobar
没有找到。这通常是因为发展
未安装包 libfoobar-dev
,即使 libfoobar
已安装。
【讨论】:
以上是关于未找到 MinGW msys 包:一般建议如何进行的主要内容,如果未能解决你的问题,请参考以下文章
我在windows下安装了MinGW和msys,并在桌面上有了mingw shell的图标,请问我怎么才能应用vim来写程序呢