windows 命令行下使用msvc编译qt程序

我的环境是qt5.9.6 + vs2015

1.首先要再命令下执行

   "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64_x86 

2. 然后 在代码路径下执行  

    qmake cmdCompileTest.pro -spec win32-msvc

3. 设置jom的路径添加到系统环境变量,比如我的电脑是E:\qt5.9\Tools\QtCreator\bin,然后执行 

   jom qmake_all
   jom.exe -f Makefile.Release

就能编译出release的exe程序

 

此处是一个完整的脚本(build.bat)

CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64_x86 
echo vcvarsall finished
qmake cmdCompileTest.pro -spec win32-msvc
jom qmake_all
jom.exe -f Makefile.Release

 

在脚本中记得要用call执行vcvarsall.bat,不然直接执行vcvarsall.bat,不会继续往下运行。

 

jom的备注(此处摘录的他人的理解):

linux下使用make,而在windows上面使用nmake,是vs提供的一个东西,
    但是有很个坑的事,就是nmake不支持-j这个参数,,也是就是说它是单线程编译.
   Qt为了解决这样子的一个问题,弄出一个jom.exe,这和make的功能基本是一样的,但是他比nmake多出来的就是,-j这个参数.也就是说它支持多线程编译.
   至于和make的其他区别我也不清楚,如果你不特别追究的话,简单理解为 jom==make==nmake*x

你可能感兴趣的:(windows 命令行下使用msvc编译qt程序)