MinGW-w64在windows/ubuntu上的安装及使用

简介: MinGW-w64在windows/ubuntu上的安装及使用

Minimalist GNU on Windows。它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。也就是说,MinGW 就是 GCC 的 Windows 版本 。这里介绍其两种用法。

在ubuntu18.04上编译出exe文件

ubuntu上安装MinGW64

命令行安装

sudo apt-get update
sudo apt-get install mingw-w64

执行完成后在/usr/bin/下可以找到两个g++

i686-w64-mingw32-g++      //编译器将在64位系统上构建32位应用程序
x86_64-w64-mingw32-g++    //编译器将在64位系统上构建64位应用程序
静态链接库文件

选用编译器编译某个cpp文件,并采用静态链接。如果采用动态链接,则会报找不到libstdc++.dll的错误。

i686-w64-mingw32-g++ test.cpp -o test.exe -static -lstdc++
//x86-64-w64-mingw32-g++ test.cpp -o test.exe -static -lstdc++

可以查看test.exe的文件属性

$ file test.exe
test.exe: PE32 executable (console) Intel 80386, for MS Windows
//test.exe: PE32+ executable (console) x86-64, for MS Windows

编译出的文件拷贝至windows平台,执行可得到预期结果。

在windows10上使用g++

可以先进入MinGW的官网界面,点击进入Downloads页面

找到Mingw-builds,进入真正的下载界面,点击下载。

双击下载完成的文件。

根据提示点击下一步。

点击下一步。

之前下载的只是一个下载器,安装过程需要联网。

架构可以选择i686,也可以选择x86_64,这里选择编译为64位机器跑的程序。

联网下载文件,几分钟,耐心等待。

安装完成。

打开终端进入到安装目录的bin文件内,或者将该目录添加到系统的Path变量。一旦添加完成,便可在任意位置调用g++。

用这个版本的g++编译下之前大小端的程序,执行。

可得到期望结果。

总结

预测应该前一种使用方式会更多一点,即在linux下编译出windows上执行的二进制文件。像tensorflow serving这种工程,目前官方仅提供linux下使用的二进制/源码编译版本,如果要在windows上编译,则需要配置环境-修改源码/脚本等繁琐步骤。如果有这个工具,则直接在linux下换一个编译链接工具,则效率更高。

相关文章
|
18天前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
1天前
|
存储 Ubuntu Linux
关于实体机安装Ubuntu 22.04.3-desktop-amd64遇见的一些问题
【10月更文挑战第5天】本文介绍了Ubuntu安装过程中常见的四个问题及其解决方案,包括分区设置、驱动问题、软件安装问题和启动问题。对于分区,推荐新手选择自动分区,手动分区需了解基本概念。驱动问题可通过安装相应硬件的Linux驱动解决。软件安装问题可更换国内镜像源或修复依赖关系。启动问题则可尝试进入恢复模式修复或根据错误提示信息寻求帮助。
|
4天前
|
存储 Ubuntu
关于实体机安装Ubuntu 22.04.3-desktop-amd64遇见的一些问题
【10月更文挑战第2天】本文详细介绍了在使用 Ubuntu 过程中常见的五个问题及其解决方案:下载镜像文件速度慢或损坏,可更换镜像源或验证哈希值;制作启动盘失败,需检查 U 盘及设置;安装过程中的分区问题,需合理规划分区;安装后的驱动问题,可通过安装官方驱动解决;软件安装和更新问题,需检查仓库配置及依赖关系。
|
8天前
|
存储 JavaScript 前端开发
Node 版本控制工具 NVM 的安装和使用(Windows)
本文介绍了NVM(Node Version Manager)的Windows版本——NVM for Windows的安装和使用方法,包括如何安装Node.js的特定版本、列出已安装版本、切换使用不同版本的Node.js,以及其他常用命令,以实现在Windows系统上对Node.js版本的便捷管理。
Node 版本控制工具 NVM 的安装和使用(Windows)
9-14|npm install --global windows-build-tools 安装太慢了,能够指定国内源
9-14|npm install --global windows-build-tools 安装太慢了,能够指定国内源
|
1月前
|
Windows
Windows操作系统部署安装Kerberos客户端
详细介绍了在Windows操作系统上部署安装Kerberos客户端的完整过程,包括下载安装包、安装步骤、自定义安装路径、修改环境变量、配置hosts文件和Kerberos配置文件,以及安装后的验证步骤。
45 3
Windows操作系统部署安装Kerberos客户端
|
1月前
|
Ubuntu Linux Docker
Ubuntu 18.04 安装Docker实战案例
关于如何在Ubuntu 18.04系统上安装Docker的实战案例,包括安装步骤、配置镜像加速以及下载和运行Docker镜像的过程。
163 3
Ubuntu 18.04 安装Docker实战案例
|
24天前
|
SQL JavaScript 数据库
sqlite在Windows环境下安装、使用、node.js连接
sqlite在Windows环境下安装、使用、node.js连接
|
20天前
|
存储 Prometheus 监控
在Ubuntu系统上安装与配置Prometheus的步骤
通过以上步骤,您应该已经成功在Ubuntu系统上安装并配置了Prometheus。您现在可以开始使用Prometheus收集和分析您的系统和应用程序的指标数据了。
39 1
|
1月前
|
网络安全 虚拟化 Windows
windows 11安装openSSH server 遇到的"kex_exchange_identification: read: Connection reset"问题
windows 11安装openSSH server 遇到的"kex_exchange_identification: read: Connection reset"问题
下一篇
无影云桌面