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

后续会用到。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐