linux交叉编译 windows,从Windows到Linux的C ++交叉编译器

8f6cc70f5392355de80106625c1c2422.png

慕码人8056858

crosstool-ng支持使用cygwin host构建交叉编译器。概述:使用开发包安装cygwin下载 crosstool-ng提取压缩包(tar xvjf crosstool-ng*)跑 ./configure当配置抱怨缺少的工具,回去Cygwin的设置和安装相应的包(例如flex,libtool,ncurses-devel)你需要至少以下几点:vel / g开发/野牛开发/ byacc开发/工具开发/补丁开发/制作(GNU版本)开发/自动制作1.10+库/ libncursesw10库/ libncursesw10-develmakemake install创建一个新目录以构建交叉编译器,例如 /usr/src/cross-linux-gnu-root在注册表中启用系统范围的区分大小写支持(请参阅https://superuser.com/questions/266110/how-do-you-make-windows-7-fully-case-sensitive-with-respect-to-the- filesystem#answer-842670)挂载区分大小写的目录(例如mount c:/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(顶层)并启用Build some companion tools,然后再启用make 3.81(感谢osm0sis)wget与最新的kernel.org证书有关,因此在此可接受的答案中使用.wgetrc方法:在Cygwin中的HTTPS URL上运行wget时,如何解决证书错误?(感谢osm0sis)当前需要3个文件补丁,以避免进一步的错误:注释中提到的_libintl_gettext错误字节移位头,以及ELF标头(感谢Duncan Calvert和osm0sis)ct-ng build当然,这不会使您能够从Visual Studio内部构建linux应用程序。(VS2010和更高版本允许您使用其他工具链(例如gcc)进行构建,但是除了crosstool-ng构建的交叉编译器之外,您还需要适当的工具链描述)。但是您将拥有一个work g++-linux-gnu,可以直接运行它,也可以使用Makefile运行它。注意:构建交叉编译器需要很长时间。osm0sis 在这里提供了一个预构建的gcc 4.8.1,以及他关于构建交叉编译器的注释(用于更新此答案)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值