在centos 7.9上面安装mingw交叉编译工具

ops/2024/12/18 19:39:46/

1.说明

为了在centos上面编译windows的程序,需要安装mingw工具,mingw工具是可以编译windows程序的一些工具链,使用方式和linux一致

2.下载脚本

使用脚本方式编译,github的脚本位置:https://github.com/Zeranoe/mingw-w64-build.git

执行命令克隆脚本:

git clone https://github.com/Zeranoe/mingw-w64-build.git

3.编译

修改脚本,由于下载的脚本默认是用最新的gcc工具,所以我们需要修改版本,执行命令:

vim mingw-w64-build

找到MINGW_W64、BINUTILS、GCC分支版本的变量,然后修改成对应的需要的版本,这里我是4.8.5的gcc,修改如下:

MINGW_W64_BRANCH="v4.x"
BINUTILS_BRANCH="binutils-2_25"
GCC_BRANCH="releases/gcc-4.8.5"

然后找到下面拉取代码的git连接,如果centos使用git clone比较慢,需要在windows上面ping 一下域名查找ip,将ip配置到centos的/etc/hosts文件中,如图:

配置完成之后使用命令重启网络生效:

service network restart

然后使用命令进行安装mingw:

./mingw-w64-build x86_64

该命令是安装64位的mingw,如果需要安装32位,那么使用:

./mingw-w64-build i686

如果出现如下错误:

[root@192 mingw-w64-build]# ./mingw-w64-build x86_64
missing required executable(s): flex bison makeinfo

则安装对应的库即可:

yum install flex
yum install bison
yum install texinfo

makeinfo就是texinfo包
编译完成,如图:

4.配置环境变量

64位编译后的目录为:
/root/.zeranoe/mingw-w64/x86_64/bin
然后执行命令:

vim ~/.bashrc

添加:
export PATH=$PATH:/root/.zeranoe/mingw-w64/x86_64/bin
如图:

 然后执行命令:

source ~/.bashrc

使用命令:

x86_64-w64-mingw32-gcc -v

如图表示安装成功:


http://www.ppmy.cn/ops/142984.html

相关文章

Roslyn 是什么?

Roslyn 是什么? Roslyn 是 .NET 平台的开源编译器平台,支持 C# 和 Visual Basic (VB) 两种编程语言。它不仅是一个传统的编译器,还提供了丰富的 API,供开发者对代码进行分析、生成、重构等操作。其全名为 “.NET Compiler Platfo…

DeepSeek-V2的多头潜在注意力机制及其在开源Mixture-of-Experts (MoE)语言模型中的应用

DeepSeek-V2的多头潜在注意力机制及其在开源Mixture-of-Experts (MoE)语言模型中的应用 DeepSeek-V2的架构及其优势 DeepSeek-V2的架构及其优势可以从几个关键方面进行深入探讨: 1. 架构设计 DeepSeek-V2是一个基于Mixture-of-Experts(MoE&#xff0…

OpenIPC开源FPV之Adaptive-Link天空端代码解析

OpenIPC开源FPV之Adaptive-Link天空端代码解析 1. 源由2. 框架代码3. 报文处理3.1 special报文3.2 普通报文 4. 工作流程4.1 Profile 竞选4.2 Profile 研判4.3 Profile 应用 5. 总结6. 参考资料7. 补充资料7.1 RSSI 和 SNR 的物理含义7.2 信号质量加权的理论依据7.3 实际应用中…

计算机网络 | 3.数据链路层

1.数据链路层的基本概念及三个基本问题 &#xff08;1&#xff09;基本概念 <1>数据链路层使用的信道主要有以下两种类型&#xff1a; 点对点信道。 这种信道使用一对一的点对点通信方式。广播信道。 这种信道使用一对多的广播通信方式&#xff0c;因此过程比较复杂。…

深入详解人工智能机器学习常见算法中的K-means聚类

目录 引言 1. K-means聚类的基本概念 1.1 K-means聚类的定义 1.2 K-means聚类的核心思想 1.3 K-means聚类的目标函数 2. K-means聚类的核心原理 2.1 初始化 2.2 分配 2.3 更新 2.4 迭代 3. K-means聚类的具体实现 3.1 K-means聚类的算法流程 3.2 K-means聚类的Pyt…

React状态管理常见面试题目(二)

为什么 Redux 能做到局部渲染? Redux能做到局部渲染&#xff0c;主要是因为它采用了单向数据流和状态管理机制。在Redux中&#xff0c;整个应用的状态被存储在一个单一的store中&#xff0c;当状态发生变化时&#xff0c;Redux通过分发action来更新state&#xff0c;并通过re…

51c嵌入式~单片机~合集3

我自己的原文哦~ https://blog.51cto.com/whaosoft/12362395 一、STM32代码远程升级之IAP编程 IAP是什么 有时项目上需要远程升级单片机程序&#xff0c;此时需要接触到IAP编程。 IAP即为In Application Programming&#xff0c;解释为在应用中编程&#xff0c;用户自己的…

Linux 设备树

学习设备树之前你需要知道什么&#xff1f; 因为设备树描述了整个芯片和开发板等所有硬件信息内容&#xff0c;所以他的信息量是非常庞大的&#xff0c;RK的linux的设备树算下来大概就有九千多行&#xff0c;大家不要被这个数字给吓到&#xff0c;这些内容都是原厂工程师写的&a…