crosstool-ng支持使用Cygwin主机构建交叉编译器。
概述:
使用开发包安装cygwin
下载crosstool-ng
提取压缩包(tar xvjf crosstool-ng* ) ) ) ) ) ) ) ) ) )。
奔跑./configure
设置抱怨缺少的工具后,要返回到Cygwin设置并安装相应的软件包(例如flex、libtool和ncurses-devel ),至少需要以下几点:
vel/g
野牛的开发
开发/贝卡
开发/工具
开发/修补程序
开发/制作(GNU版本)
开发/自动创建1.10
库/libncursesw10
库/libncursesw10-devel
化妆
制造安装
创建用于构建/usr/src/cross-linux-gnu-root等交叉编译器的新目录
在注册表中启用系统范围的区分大小写支持(https://super user.com/questions/266110/how-do-you-make-windows-7-full-case )
装载区分大小写的目录。 例如,mountc :/Cygwin/usr/src/cross-Linux-GNU-root/usr/src/cross-Linux-GNU-o binary,posix=1
在交叉编译器构建目录中,ct-ng menuconfig
在菜单中,将目标体系结构设置为x86,将子体系结构设置为i686。 (避免GCC 4.8问题,感谢osm0sis。 ),将目标内核设置为linux,将目标c库设置为glibc,然后启用c编译器。
要解决make 4.0问题,请同时启用EXPERIMENTAL、Paths and misc options,然后进入“Companion tools (顶级)”,再启用构建解决方案Companion tools (感谢osm0sis。 ) ) ) 652
由于wget与最新的kernel.org证书有关,因此此处接受的答案使用. wgetrc方法。 在Cygwin的HTTPS URL上运行wget时,如何解决证书错误? (感谢osm0sis )
为了避免进一步的错误,目前需要三个文件修补程序。
注释中的_libintl_gettext错误
字节移位标头
ELF标头(感谢双重电话和osm0sis ) ) ) ) )。
CT-ng构建
当然,不能从Visual Studio内部构建Linux APP应用程序。 (从VS2010开始,可以使用gcc等其他工具链进行构建,但除了使用crosstool-ng构建的交叉编译器之外,还需要相应的工具链描述。)。 但是,有工作g-Linux-GNU,可以直接运行,也可以使用Makefile运行。
注意:构建交叉编译器需要很长时间。 osm0sis在此提供了预构建的gcc 4.8.1以及有关构建交叉编译器以更新此回答的评论。