+ -
当前位置:首页 → 问答吧 → 请教下Archlinux下如何交叉编译MinGW?

请教下Archlinux下如何交叉编译MinGW?

时间:2010-02-28

来源:互联网

因为需要在Linux下编译Windows程序,以前尝试过,但是编译失败了。
请问:有没有这方面的参考资料?
我想首先在Arch下交叉编译MinGW,然后再使用MinGW编译Windows程序。
谢谢!

作者: Loaden   发布时间: 2010-02-28

http://www.archlinux.org/packages/?q=mingw

找到你感兴趣的包,看他们的PKGBUILD就知道怎么搞了。

作者: kevinlei   发布时间: 2010-02-28

引用:
作者: kevinlei
http://www.archlinux.org/packages/?q=mingw

找到你感兴趣的包,看他们的PKGBUILD就知道怎么搞了。
非常感谢,我看看去!

不过我要交叉编译MinGW给Windows平台使用,不是Linux平台使用。
目标对象是Windows平台。
不知道有没有这方面的资料?

作者: Loaden   发布时间: 2010-02-28

mingw32-gcc 4.4.0-1 A C and C++ cross-compilers for building Windows executables on Linux
mingw32-w32api 3.13-1 Windows header files fro mingw32 C cross-compiler

这几个包的简介说的就是你这个意思啊

作者: adaml   发布时间: 2010-02-28

引用:
作者: adaml
mingw32-gcc 4.4.0-1 A C and C++ cross-compilers for building Windows executables on Linux
mingw32-w32api 3.13-1 Windows header files fro mingw32 C cross-compiler

这几个包的简介说的就是你这个意思啊
不是的。
这个是用Cross Compilers来编译可在Windows上运行的程序。
而我是要编译在Windows上编译软件的编译器:MinGW。
我不知道官方的MinGW和TDM的MinGW是在哪个平台上编译的。
但我觉得交叉编译应该是可以的。

作者: Loaden   发布时间: 2010-02-28

你先装个linux版的mingw,然后用这个mingw编译windows版的?

交叉编译好烦人好烦人,我是不想折腾了.

作者: CnkknD   发布时间: 2010-03-01

http://nuwen.net/mingw.html
这个好像是在windows上编译的,你看看Sources那一节的内容

作者: CnkknD   发布时间: 2010-03-01

引用:
作者: CnkknD
http://nuwen.net/mingw.html
这个好像是在windows上编译的,你看看Sources那一节的内容
谢谢,Windows下使用MSYS编译是成功的,但是总感觉不完美,似乎没有官方的版本稳定。
方法:http://qp-gcc.googlecode.com

我怀疑是MSYS的问题。
所以我想在Linux下交叉编译它。

作者: Loaden   发布时间: 2010-03-01

已经基本上找到头绪了。
看了arch的pkg配置文件,还是启发很大的。
必须要先编译mingw32-gcc-base。
这是编译cross compiler的前提。
可惜官方发布的是i486架构,我得先改成i686。
漫长的等待...

作者: Loaden   发布时间: 2010-03-01

奇怪,出错了。我只是将i486改成了i686。
好吧,我一点都不改,看看能否成功。
漫长编译中...
找到了曾经发过的帖子:http://topic.csdn.net/u/20090522/09/...b64980271.html

作者: Loaden   发布时间: 2010-03-01

即使我不对PKGBUILD做任何修改,也是同样的编译错误。
/home/loaden/archgcc/mingw32-gcc-base/src/gcc-4.4.0/libgcc/../gcc/tsystem.h:108:18: error: time.h: No such file or directory
In file included from ../.././gcc/tm.h:11,
from /home/loaden/archgcc/mingw32-gcc-base/src/gcc-4.4.0/libgcc/../gcc/libgcc2.c:31:
/home/loaden/archgcc/mingw32-gcc-base/src/gcc-4.4.0/libgcc/../gcc/config/i386/mingw32.h:207:21: error: windows.h: No such file or directory
make[2]: *** [_muldi3.o] 错误 1
make[2]: Leaving directory `/home/loaden/archgcc/mingw32-gcc-base/src/build/i486-mingw32/libgcc'
make[1]: *** [all-target-libgcc] 错误 2
make[1]: Leaving directory `/home/loaden/archgcc/mingw32-gcc-base/src/build'
make: *** [all] 错误 2
==> 错误: 创建失败。
正在放弃...

作者: Loaden   发布时间: 2010-03-01

查查Gcc, GLib版本

作者: tony2u   发布时间: 2010-03-02

通过export环境变量:C_INCLUDE_PATH才编译成功了mingw32-gcc-base,但仍然无法打包pkg。
之后用mingw32-gcc-base编译了mingw32-gcc
再用此mingw32-gcc编译mingw32 for windows
最后会发现找不到头文件,在:/mingw/include
于是我做了个链接:
代码:
sudo ln -s /usr/mingw32/lib/ /mingw/lib
sudo ln -s /usr/mingw32/include/ /mingw/include
成功了,只是不知道能否到windows平台下顺利运行。

作者: Loaden   发布时间: 2010-03-02

通过export环境变量:C_INCLUDE_PATH才编译成功了mingw32-gcc-base,但仍然无法打包pkg。
之后用mingw32-gcc-base编译了mingw32-gcc
再用此mingw32-gcc编译mingw32 for windows
最后会发现找不到头文件,在:/mingw/include
于是我做了个链接:
代码:
sudo ln -s /usr/mingw32/lib/ /mingw/lib
sudo ln -s /usr/mingw32/include/ /mingw/include
成功了,只是不知道能否到windows平台下顺利运行。

作者: Loaden   发布时间: 2010-03-03

祝贺,终于确认你就是CSDN区的老邓同志啦,哈哈

作者: waiting4you   发布时间: 2010-03-10

^_^ 这是最终的交叉编译方法:http://topic.csdn.net/u/20100302/17/...579.html?56589

作者: Loaden   发布时间: 2010-03-10

呵呵,终于认出了两个混csdn的了

作者: fallening   发布时间: 2010-03-11