为什么我的(x86-> 64)windows交叉编译器的编译失败了?

时间:2011-07-07 00:42:13

标签: gcc mingw cross-compiling x86-64

我正在尝试在我的Windows系统上构建交叉编译器(x86-> 64),目的是针对Windows 64,但是我的软件目前依赖于开源库,这些库也具有开源依赖关系。没有预编译的二进制文件,我可以编译。这意味着如果我想要64位版本,我需要编译它们。

我已经安装了MSYS和mingw,我也正在将mingw-w64添加到混合中,这样我最终可以编译64位格式的库以便与我的软件一起使用。我正在尽可能地遵循这些步骤using these instructions,并按照该页面上列出的顺序,我目前处于标题为“构建GCC核心交叉编译器“,但是当我尝试使用该行进行编译时:

  

$ ../gcc-4.6.1/configure --target = x86_64-w64-mingw32 --enable-targets = all&& make -j 6 all-gcc&& make -j 6 install-gcc

我得到了output pasted here。我应该注意到,我当然剪断了先前执行的命令,并且最后一个命令是在显示所有错误之前列出的最后一个命令。此外,我不知道是否由于'-j 6'参数导致所有错误的原因,但它之前的所有内容至少看起来成功。

问题是什么?我该如何解决?

哦,期待一个潜在的建议;不,我不能只是切换到cygwin。

修改:单独执行后,可以here's the output of the configure commandthe output produced by make all-gcc (no -j argument)config.log。注意,我之前没有运行make clean这可能解释了不同的结尾,我没有为了编写这个更新的时间而这样做,但我想我只会创建一个不同的编译文件夹,在我等待回复的同时,干净地重新执行它以希望看到与以前相同的错误。

修改2 make all-gcc按预期再次失败,这次the output应该对我有所帮助。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您的config.log表明构建过程将使用x86_64-w64-mingw32 / bin中的二进制文件来处理诸如ar等内容...这些仅供内部编译器使用,并且它们都应该可用在/ mingw / bin目录中。我强烈建议在mingw-w64-公共邮件列表上寻求帮助。