为Visual Studio 2017 32位构建Qt(静态链接)

时间:2017-08-09 13:55:27

标签: qt visual-studio-2017

在我的Windows 7 SP1计算机上,我想在Visual Studio中使用Qt并使用Visual Studip使用静态链接编译Qt项目,以便能够在单个.exe文件中共享我的项目。 由于Visual Studio 2017 32bits没有预编译库(尽管它们存在于x64中),我将从源代码编译Qt。

按照Qt的文档,我开始安装Python 2.7.13和Active-Perl,并将其安装路径与gnuwin32 / bin文件夹一起添加到PATH变量

然后我在C:\ Qt下创建了一个qt5vars.cmd文件,这是他的内容:

REM Set up \Microsoft Visual Studio 2017, where <arch> is \c amd64, \c x86, etc.
CALL "C:\Program Files\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
SET _ROOT=C:\Qt\5.9.1
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
REM Uncomment the below line when using a git checkout of the source repository
#REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%
SET _ROOT=

最后我将Qt源解压缩(从here下载到C:\ Qt \ 5.9.1,并在C:\ Qt \ jom

下解压缩)

我打算使用这些命令(在执行qt5vars.cmd之后)编译并安装Qt:

configure -debug-and-release -opensource -platform win32-msvc2017 -static -nomake examples -nomake tests -prefix C:\Qt-5.9.1
jom -j 2
jom install

我已经在VS2017中安装了Qt vs工具。

程序是否正确,还是应该更改某些内容? (特别是在configure命令中)

2 个答案:

答案 0 :(得分:0)

看起来不错。我唯一的评论是: 要删除gnuwin32路径,因为我没有看到你为什么需要它的原因。

考虑制作阴影,以保持Qt源不被污染。

set _SHADOW_DIR="C:\build_static"
set _SOURCE_DIR="C:\SrcQt5.9.1"
...
cd %_SHADOW_DIR%
call %_SOURCE_DIR%\configure ...

答案 1 :(得分:0)

运行:“ VS 2017 x86本机工具命令提示符”

或通过控制台

%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars32.bat" 

转到您的Qt源目录“ qt-everywhere-src-5.14.0 /” 运行

configure -static -debug-and-release -prefix "f:\Qt\Static\build\5.14\build" -platform win32-msvc -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -qt-sqlite -sql-odbc -no-openssl -opensource -confirm-license -make libs -nomake tools -nomake examples -nomake tests -skip qtwebengine

几个小时后运行

nmake

再次等待几个小时然后运行

nmake install

很多关于qtwebengine,ssl的帖子我只是禁用了它。 希望这篇文章可以帮助您节省宝贵的时间。