最近几天搞 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程序相关推荐

  1. linux下crossover打开软件,如何借助CrossOver在Linux上运行Windows程序

    就因为有某个Windows应用程序是你非用不可,并不意味着就只能运行Windows.CodeWeaver的CrossOver Linux让你能够在Linux上运行许多流行的Windows应用程序.得到 ...

  2. Crossover2023mac苹果电脑系统上运行Windows程序虚拟机工具模拟器

    CrossOver是一款可以让Mac和Linux系统中正常运行Windows软件的应用程序.它不像虚拟机一样需要安装Windows系统之后才可以安装Windows的应用程序,这一方式给大多数用户带来了 ...

  3. 使用wine在mac系统上运行windows程序

    最近想用Clickteam Fusion Developer游戏引擎作作小游戏,这个引擎开发动作类2D游戏简单方便,只有一个问题,就是这个游戏引擎的开发环境只支持windows系统.而我只有一台苹果的 ...

  4. linux使用什么dos系统安装,在Linux系统中安装DOSBox运行MS-DOS上游戏及程序的方法...

    在 Linux 系统中可以借助安装 DOSBox 来运行 MS-DOS 游戏及程序,比如运行 C++ 编译器 Turbo C++,同时 DOSBox 还支持 Windows.MacOS.Unix 操作 ...

  5. linux crossover 乱码,Ubuntu 中如何使用 CrossOver 安装 Windows 程序

    CrossOver 这款类虚拟机软件不仅有着 Mac 版本还有着 Linux 版本,这也表示着我们可以在 Ubuntu 中通过 CrossOver 安装使用 Windows 程序. 之前小编为大家介绍 ...

  6. 想要在Mac 上运行 Windows 程序 不需要虚拟机也可以

    很多在Mac OS X系统上使用虚拟机运行Windows程序的用户表示: 太慢了,太痛苦了 出现这一问题的主要原因是: 虚拟机在安装完成后占用空间较大 导致Mac磁盘空间被占用 软件运行极为卡顿. 而 ...

  7. 拯救者linux虚拟机,在联想拯救者笔记本上安装Archlinux XFCE桌面环境 202102

    最近尝试了一下在我的联想拯救者笔记本上安装 Archlinux 搭配 XFCE4 桌面环境,现记录一下安装过程. 声明:本安装过程仅供参考,不喜勿看,谢绝喷子! 安装基本系统 1.制作安装媒体: 在 ...

  8. 生信技能树linux虚拟机,科学网—Windows10安装Linux子系统Ubuntu 20.04LTS,轻松使用生信软件,效率秒杀虚拟机 - 刘永鑫的博文...

    很多优秀的生物信息学软件,如QIIME.QIIME 2.LEfSe等没有Windows版,而使用VirutalBox虚拟机不仅效率低,而且挂载外部硬盘和使用中也经常遇到各种问题,配置和使用详见 - 扩 ...

  9. linux虚拟机状态转换图,VirtualBox的Linux虚拟机文本模式和图形模式的切换问题

    1.默认开机进入文本模式 如果想让开机自动进纯文本模式, 修改/etc/inittab 找到其中的 id:5:initdefault: 这行指示启动时的运行级是5,也就是图形模式 改成3就是文本模式了 ...

  10. linux虚拟机中dns安装,linux虚拟机dns服务器配置步骤(linux服务器配置dns步骤)

    但是启动不了DNS服务器,向高手求解,最好说明具体安装DNS的步骤 安装包之后:1.DNS主配置文件与区域数据文件配置 在/var/named/chroot/etc目录下创建DNS的主配文件:name ...

最新文章

  1. GAN在产业和学术届的价值!
  2. webapi 异步返回
  3. UHF RFID编码之TPP编码
  4. 关于反射GetType().GetProperties()的疑惑
  5. C# ie通过打印控件点打印,总是弹出另存为xps的对话框
  6. 2021 icme_2021第十届制造工程与工艺国际会议(ICMEP 2021)
  7. Qt——P26 Label控件显示图片
  8. [补档]noip2019集训测试赛(十五)
  9. 如何在centos7上安装redis
  10. DiscuzNT改造-远程图片自动采集-DNT2.5(自动采集、源码下载)
  11. Flutter动画系列之AnimatedWidget
  12. vmd分解matlab程序,matlab中使用VMD(变分模态分解)
  13. Oracle 定时任务执行存储过程
  14. 正确使用计算机说课稿,计算机优秀说课稿讲课讲稿.pdf
  15. maya mentray_新手快速掌握Maya Mental ray
  16. 装修报价不担心被骗 避免家装陷阱报价揭密
  17. mp3转换html5,五个免费在线mp3音频音乐编辑转换网站,实用的音频编辑软件
  18. d3.js学习笔记-10(布局:树状图、集群图捆、捆图)
  19. 包络线公式如何用计算机求,包络线公式
  20. 并行查询的执行计划解读

热门文章

  1. myeclipse 下搭建测试环境
  2. 数据库快照的工作方式
  3. eclipse打开后显示 Failed to create the part‘s controls 解决方法
  4. 【白皮书分享】智能文字识别(OCR)能力评测与应用白皮书.pdf(附下载链接)...
  5. 【干货】如何从0到1构建用户画像系统.pdf(附76页pdf下载链接)
  6. 【报告分享】2020直播电商行业研究报告.pdf(附下载链接)
  7. 你看得懂的海明码校验和纠错原理
  8. 2021跨境电商独立站将喷发式增长?你知道怎样运营独立站吗?
  9. 以TikTok为切入的海外流量打法?
  10. 吴恩达CNN卷积神经网络第2周作业ResNets