linux虚拟机可以交叉编译吗,在Linux上交叉编译windows程序
最近几天搞 wxWidgets,由于要同时编译应用程序的 Windows 版本,又懒得在虚拟机里面编译程序,于是想到用交叉编译的方式在
Linux 上编译好 Windows 版本的程序,再用 Wine 或者虚拟机来执行。试了一下,这种方法很好用,比在虚拟机里面编译程序快很多。
我的操作系统是 debian sarge,其中已经有 mingw32 编译器,只需安装:
apt-get install mingw32这会安装好 mingw32 交叉编译系统,用 i586-mingw32msvc-gcc 即可为 Windows 编译程序。
在编译 wxWidgets 的 Windows 版本之前,需要安装 DirectX 的头文件。大概是由于版权之类的原因,在 Debian
的 mingw32 中并未包含 DirectX 的头文件,只包含了 DirectX 的库,因此需要自己安装。如果不安装,在编译
wxWidgets 的时候会有警告,并且系统不会产生 wxDisplay 这个类。安装并不复杂,只要从网络上找到相关的头文件和库文件,并解压到
/usr/i586-mingw32msvc 目录中即可。
然后就可以编译 wxWidgets 了,下载并解压源码后,用如下命令可以编译:
./configure --host=i586-mingw32msvc --target=i586-mingw32msvc --prefix=~/Workshop/mingw32 --enable-monolithic --disable-shared
make; make install-strip
make -C contrib; make -C contrib install-strip
编译完成后,进入 samples 目录,随便找一个例程 make 一下,便可产生 exe 文件了。要执行这个文件,需要
mingwm10.dll 这个文件,在 Debian 中,此文件位于 /usr/share/doc/mingw32-runtime
目录中,把它复制到当前目录,便可用 wine 执行了。如果没有问题,也可以把这个文件仍到 Wine 的 C:\Windows\system32
目录中。
下图是在 Wine 中执行程序的效果:
下图是在 win4lin 中执行程序的效果:
linux虚拟机可以交叉编译吗,在Linux上交叉编译windows程序相关推荐
- linux下crossover打开软件,如何借助CrossOver在Linux上运行Windows程序
就因为有某个Windows应用程序是你非用不可,并不意味着就只能运行Windows.CodeWeaver的CrossOver Linux让你能够在Linux上运行许多流行的Windows应用程序.得到 ...
- Crossover2023mac苹果电脑系统上运行Windows程序虚拟机工具模拟器
CrossOver是一款可以让Mac和Linux系统中正常运行Windows软件的应用程序.它不像虚拟机一样需要安装Windows系统之后才可以安装Windows的应用程序,这一方式给大多数用户带来了 ...
- 使用wine在mac系统上运行windows程序
最近想用Clickteam Fusion Developer游戏引擎作作小游戏,这个引擎开发动作类2D游戏简单方便,只有一个问题,就是这个游戏引擎的开发环境只支持windows系统.而我只有一台苹果的 ...
- linux使用什么dos系统安装,在Linux系统中安装DOSBox运行MS-DOS上游戏及程序的方法...
在 Linux 系统中可以借助安装 DOSBox 来运行 MS-DOS 游戏及程序,比如运行 C++ 编译器 Turbo C++,同时 DOSBox 还支持 Windows.MacOS.Unix 操作 ...
- linux crossover 乱码,Ubuntu 中如何使用 CrossOver 安装 Windows 程序
CrossOver 这款类虚拟机软件不仅有着 Mac 版本还有着 Linux 版本,这也表示着我们可以在 Ubuntu 中通过 CrossOver 安装使用 Windows 程序. 之前小编为大家介绍 ...
- 想要在Mac 上运行 Windows 程序 不需要虚拟机也可以
很多在Mac OS X系统上使用虚拟机运行Windows程序的用户表示: 太慢了,太痛苦了 出现这一问题的主要原因是: 虚拟机在安装完成后占用空间较大 导致Mac磁盘空间被占用 软件运行极为卡顿. 而 ...
- 拯救者linux虚拟机,在联想拯救者笔记本上安装Archlinux XFCE桌面环境 202102
最近尝试了一下在我的联想拯救者笔记本上安装 Archlinux 搭配 XFCE4 桌面环境,现记录一下安装过程. 声明:本安装过程仅供参考,不喜勿看,谢绝喷子! 安装基本系统 1.制作安装媒体: 在 ...
- 生信技能树linux虚拟机,科学网—Windows10安装Linux子系统Ubuntu 20.04LTS,轻松使用生信软件,效率秒杀虚拟机 - 刘永鑫的博文...
很多优秀的生物信息学软件,如QIIME.QIIME 2.LEfSe等没有Windows版,而使用VirutalBox虚拟机不仅效率低,而且挂载外部硬盘和使用中也经常遇到各种问题,配置和使用详见 - 扩 ...
- linux虚拟机状态转换图,VirtualBox的Linux虚拟机文本模式和图形模式的切换问题
1.默认开机进入文本模式 如果想让开机自动进纯文本模式, 修改/etc/inittab 找到其中的 id:5:initdefault: 这行指示启动时的运行级是5,也就是图形模式 改成3就是文本模式了 ...
- linux虚拟机中dns安装,linux虚拟机dns服务器配置步骤(linux服务器配置dns步骤)
但是启动不了DNS服务器,向高手求解,最好说明具体安装DNS的步骤 安装包之后:1.DNS主配置文件与区域数据文件配置 在/var/named/chroot/etc目录下创建DNS的主配文件:name ...
最新文章
- GAN在产业和学术届的价值!
- webapi 异步返回
- UHF RFID编码之TPP编码
- 关于反射GetType().GetProperties()的疑惑
- C# ie通过打印控件点打印,总是弹出另存为xps的对话框
- 2021 icme_2021第十届制造工程与工艺国际会议(ICMEP 2021)
- Qt——P26 Label控件显示图片
- [补档]noip2019集训测试赛(十五)
- 如何在centos7上安装redis
- DiscuzNT改造-远程图片自动采集-DNT2.5(自动采集、源码下载)
- Flutter动画系列之AnimatedWidget
- vmd分解matlab程序,matlab中使用VMD(变分模态分解)
- Oracle 定时任务执行存储过程
- 正确使用计算机说课稿,计算机优秀说课稿讲课讲稿.pdf
- maya mentray_新手快速掌握Maya Mental ray
- 装修报价不担心被骗 避免家装陷阱报价揭密
- mp3转换html5,五个免费在线mp3音频音乐编辑转换网站,实用的音频编辑软件
- d3.js学习笔记-10(布局:树状图、集群图捆、捆图)
- 包络线公式如何用计算机求,包络线公式
- 并行查询的执行计划解读
热门文章
- myeclipse 下搭建测试环境
- 数据库快照的工作方式
- eclipse打开后显示 Failed to create the part‘s controls 解决方法
- 【白皮书分享】智能文字识别(OCR)能力评测与应用白皮书.pdf(附下载链接)...
- 【干货】如何从0到1构建用户画像系统.pdf(附76页pdf下载链接)
- 【报告分享】2020直播电商行业研究报告.pdf(附下载链接)
- 你看得懂的海明码校验和纠错原理
- 2021跨境电商独立站将喷发式增长?你知道怎样运营独立站吗?
- 以TikTok为切入的海外流量打法?
- 吴恩达CNN卷积神经网络第2周作业ResNets