msys2编译WxWidgets

msys2说 msys已死,而且msys2是独立开发的,不依赖其他包。

msys2安装完毕,启动时,有个选项提示:

选择这3个按钮最大的区别是环境变量:$MINGW_PACKAGE_PREFIX

如果选择MSYS2,这个环境变量为空,如果选择Mingw-w64 64bit,则该环境变量有值:

$ echo $MINGW_PACKAGE_PREFIX
mingw-w64-x86_64

注意msys2安装完毕后,要增加环境变量 msys64\user\bin:

msys2环境变量

还需要安装 git zip unzip等实用工具

Step 1: 下载wxWidgets源码

稳定版或者最新版自行选择

Step 2: 按照官方提示下载

官方编译说明

pacman -S --needed --noconfirm make
 pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-libjpeg-turbo
 pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-libpng
 pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-libtiff
 pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gcc

以下包也需要下载,对了pacman是msys2的包管理工具

pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-gcc-libs
pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-expat
pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-xz
pacman -S --needed --noconfirm ${MINGW_PACKAGE_PREFIX}-zlib

Step 3: 编译

在wxwidgets源码目录新建一个目录,如buildw在该目录内执行

../configure --with-msw --disable-shared --disable-precomp-headers

在我的虚拟机要运行几十分钟,不明白,完成之后

make

在期间会有个类型错误(注意在稳定版3.0.5才有,3.1.3貌似没有):

vi ../src/msw/mediactrl_am.cpp
 

在2235行,修改:0xfffffd9f 为 -609

    //case 0xfffffd9f: // readystatechange in IActiveMovie2 and IMediaPlayer
    case -609: // readystatechange in IActiveMovie2 and IMediaPlayer


编译也需要很久很久,我的win10虚拟机竟然需要几个小时编译完成。

PS:../src/msw/setup.h中要增加一句:

#define wxUSE_LIBMSPACK  0

后续会用到。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值