与Mingw64交叉编译-通配符扩展

时间:2019-12-07 13:01:46

标签: fedora autoconf mingw-w64

我试图使用其mingw64交叉编译器从Fedora交叉编译Windows的GNU grep。这个过程非常简单,只有一个例外。默认情况下,mingw64似乎不会在命令行上扩展通配符,因此grep FOO *给出“无效参数:*”,而不是搜索当前目录中的所有文件。

经过一些研究,我发现mingw64 CRT中有一个外部符号_dowildcard,如果设置为-1,它将触发通配符扩展。但是我没有找到有关如何设置此值的有用文档(也许是因为它很明显;;-))。

我可以修改源代码来设置变量,但我更愿意不必尽可能修改源。 (我想建立一个自动构建,并且应用代码补丁只会增加我想避免的复杂性)。是否可以通过configure或make命令行设置_dowildcard?我似乎还记得mingw的旧版本,其中有一个setargv.obj文件,可以将其链接到您的项目中以启用通配符扩展-mingw64是否有相似之处?

1 个答案:

答案 0 :(得分:0)

以上@ssbssa的答案:

mingw软件包随附了一个CRT_glob.o文件,位于/usr/x86_64-w64-mingw32/sys-root/mingw/lib/CRT_glob.o(或32位的相应位置)中,您可以将其与可执行文件链接以激活命令行。 >

您必须通过完整路径名指定文件,链接程序才能找到它。

相关问题