我找不到有关如何安装在Windows上构build的Qt的任何信息。
在wiki文章中如何在Mac和Linux上设置阴影构build在configure
脚本中有-prefix
选项的描述,但是这个选项在Windows上不可用。
我知道我可以从build文件夹中直接使用Qt,但是不执行安装步骤似乎不正确。 这种方法的一个问题是大小, Qt的生成文件夹需要大约4GB的空间,而使用二进制安装程序安装Qt需要大约1GB的空间。 我猜这个区别是由于在构build过程中创build的临时文件。 我希望一些安装程序会安装(复制)只需要在build文件夹中留下临时文件的文件。
正如İsmail所说,Windows上没有安装Qt的步骤。 但是可以尝试通过执行以下操作来逼近它。
make clean
以删除所有临时文件。 INSTALL_DIR
。 qmake.exe
可执行文件中硬编码的路径 qmake -query
查看哪些路径被编译(硬编码)到qmake和 qmake -set
(1)替换为INSTALL_DIR
。 INSTALL_DIR
的bin子文件夹中创建一个qt.conf
文件,在其中指定新的Qt路径。 QMAKE_INCDIR
,因此在项目中包含路径为“。”。 这在默认情况下不会在定制的Qt中发生,因此您必须mkspecs/YOUR-PLATFORM-HERE/qmake.conf
添加到mkspecs/YOUR-PLATFORM-HERE/qmake.conf
文件中: QMAKE_INCDIR += "."
prl
文件 CONFIG += uitools
)时,Qt会查找%QTDIR%/lib/QtUiTools.prl
来查找该组件的库依赖关系。 这些文件将具有Qt配置和构建目录的硬编码路径。 你必须用你为所有lib/*.prl
文件移动Qt的目录来替换这个目录。 include
子文件夹中的标题仅转发到原始标题。 例如; BUILD_DIR\include\QtCore\qabstractanimation.h
看起来像这样 #include "SRC_DIR/src/corelib/animation/qabstractanimation.h"
SRC_DIR/src
子文件夹复制到目标文件夹,并修复include
文件夹中的所有标题,以便转发到src
子文件夹的新位置。 底线:
Windows下Qt的构建过程使得构建之后移动(安装)Qt变得非常困难。 你应该这样做,只有… …我找不到任何理由去经历这一切麻烦。
记得
简单的方法是把Qt的源文件放到你想要Qt的文件夹中,然后在这个文件夹中编译。 这使得上面的所有步骤,除了上面的1和4以外都是不必要
1)
您使用qmake -set
设置的变量保存在注册表项中
HKEY_CURRENT_USER\Software\Trolltech\QMake\<QMAKE_VERSION>
。
正因为如此,如果您想要使用不同版本的Qt,并且碰巧拥有相同版本的qmake,可能会遇到问题。 在这种情况下,更好的解决方案是使用qt.conf
文件(实际上是每个Qt安装需要一个文件的文件)(选项3b)。
上面的许多信息来自Gabe Rudy编写的RelocationTricks wiki页面。 查看他的Qt(Qt4)开源Windows预安装二进制文件MSVC 2008项目的安装程序,它可以让您轻松解决上述问题。
这个答案是Piotr(当前评分最高的)答案的第3步和第5步的替代,但是您可能仍然需要在答案中的其他步骤,具体取决于您要实现的目标。
总结一下:在将你的Qt目录移动到你想要的位置之后,下载任何一个官方的Qt 安装程序 ,并用下面的命令行参数运行它:
cd <path> installer.exe --runoperation QtPatch windows <path> qt5
在你移动Qt目录后,把<path>
替换成你的Qt目录的完整路径(如果你正在使用Qt 5,则使用qtbase
目录)。 如果您使用的是Qt 4,则省略最终的qt5
参数。
这将修复qmake.exe,.prl文件等硬编码路径。 它给你和官方安装者在这方面完全一样的行为。
对于第一步, nmake "INSTALL_ROOT=\somewhere" install
适用于我。 所以这是Piotr的答案的第1步和第2步。 我不需要步骤4或6,FWIW。
我可以使用前缀选项在WINDOWS(Visual Studio版本)上配置QT 5,如下所示:
configure -prefix C:\the\path\I\want ...
然后打电话:
nmake nmake install
后者将在C:\ \ \ \ \我想要安装Qt。
到目前为止,我对Qt 5.2.1和5.3.x没有任何问题。 所以,以前的任何问题似乎现在都已经解决了。
很奇怪,人们声称在Windows上没有“make install”。
我已经使用过很多次了,我同意这不是在其他平台上的,但它是有用的。
如何在Windows上使用Qt的make install(从cmd):
configure (n/mingw32-)make (n/mingw32-)make docs (n/mingw32-)make install
make install位拷贝所有必要的头文件,以便能够删除你的源代码目录。 删除所有对象和不必要的东西:
del /S /Q *.obj lib\*.dll rmdir /S /Q docs-build qmake tools src
这使您可以删除源目录。 我不知道这对调试Qt源代码有什么影响,但它确实减少了阴影构建的大小。 我用它来保持32位和64位构建与最小的大小。
Windows上的Qt不能用make install
,你会注意到Qt安装程序的Windows只是为新安装位置打补丁dlls&pdbs。
我建议在你想安装的地方做一个阴影构建。 您可以手动删除*.obj
文件来节省空间。
Qt自己的构建指令通过在每个Makefile中进行搜索/替换来显示如何完成。 假设源代码被提取到C:\ qt-4.8.3并且在该目录中执行构建,那么执行以下操作:
fart -c -i -r Makefile* $(INSTALL_ROOT)\qt-4.8.3 $(INSTALL_ROOT)\my-install-dir set INSTALL_ROOT= mingw32-make install
然后创建一个配置文件,告诉qmake它的新安装路径。 创建一个文本文件C:\ my-install-dir \ bin \ qt.conf:
[Paths] Prefix=C:/my-install-dir Translations = translations
然后,作为最后一步(正如Randy指出的那样),您需要修补qmake.exe,这可以使用一个名为QtMove的简单工具来完成。 同样的工具也会自动更新所有的prl
文件。
第1步:移动Qt
第2步:获取旧的Qt目录
第3步:修补Qt
第4步:设置环境变量
你可以用批处理文件来完成所有这些。 这让我花了一段时间才解决,这为我节省了很多时间。 这是一个脚本来自动更新Qt安装到新的位置。 批处理文件在这里可用。
有一个简单的实用程序QtMove(http://www.runfastsoft.com)可以轻松地做到这一点。
运行重新定位的qmake.exe生成你的.pro文件,一切都应该与新的Qt库相链接。