首页 > 编程知识 正文

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

时间:2023-05-03 10:15:10 阅读:122659 作者:4834

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以及有关构建交叉编译器以更新此回答的评论。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。