自从win98时代转入Linux阵营之后就很少关注Windows了,可最近由于项目测试的原因需要用到VS2019来编译Qt程序,便尝试了一下 WSL(Windows Subsystem for Linux),发现竟然非常好用,可以延续很多 Linux 中的使用习惯,感觉现在的 Windows 已经很 Linux 了。
从前编译 Windows 代码都可以使用 mingw 进行交叉编译,但 QtWebEngine 只能使用 VS 编译,因此工作流程先是变成:在 WSL 中编辑代码,打开 Qt Creator,编译测试。后来逐渐变懒,就打开一个 VS 的命令行,使用 nmake 编译。但这也要打开一个 CMD 窗口,并进行窗口切换,感觉工作流程不够顺滑。直到发现在 WSL 中可以直接运行 Windows 程序,这样我就可以直接调用编译脚本而不用离开 WSL 环境了。
首先要写一个编译脚本,大致格式如下:
set path=%path%;D:\Qt\5.15.2\msvc2019_64\bin
call "D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
cd d:\程序目录\
nmake release
这个脚本必须保存在 Windows 分区上(保存在 WSL 内部存储估计也可以,但我没有仔细研究,毕竟在 Windows 文件浏览器中也可以访问 WSL 里面的文件),假定文件名是 d:\build.bat,那么可以通过下面的命令进行调用:
/mnt/c/Windows/System32/cmd.exe /c d:/build.bat