过去几天我通过Qt论坛和谷歌搜索了很多,但我找不到任何明显的答案。
我发现-prefix
选项(甚至没有记录在Windows上)可以提供配置以指定不同的安装目录,但这根本不清楚源和二进制文件的分离,因为构建仍然是在源目录中完成,然后将安装所需的文件复制到安装directoy。我尝试了这个-prefix
选项,并遇到了一些问题。 (即它不会将.pdb
文件复制到安装目录。)
然后我发现this link关于进行阴影构建,但它有一个很大的限制,即构建目录必须与源目录处于同一级别。
我猜你没试过make 安装?所以试试吧。这应该 将Qt安装到一个单独的目录中 远离消息来源。
你是说我配置后,我应该做nmake安装而不是nmake?我知道nmake将从qmake处理生成的makefile,并将它们放在源Qt目录中,但是nmake install将完全做什么,即在哪个目录中安装文件以及如何指定文件的安装目录。 / p>
请注意,我已经这样做了:
configure -prefix builddir -platform win32-msvc2005
nmake install
以上两行的效果是qt是在源目录中编译的,而不是直接编译到我用前缀指定的builddir。然后编译的文件被复制到我的builddir中。我希望能够将我的Qt文件直接构建到构建目录,因为这样我在编译期间需要4 Gb空间用于源代码。此外,pdb文件未复制到我的buildir,这是另一个问题。
答案 0 :(得分:15)
基本上,您只需从构建目录运行configure.exe即可。例如:
mkdir \qt\4.5.2-build
cd \qt\4.5.2-build
set PATH=%cd%\bin;%PATH%
\qt\4.5.2-sources\configure.exe -platform win32-msvc2005
如果源位于\qt\4.5.2-sources
,则会导致构建进入当前驱动器上的\qt\4.5.2-build
。
此外,您必须在PATH
中使用perl,建议使用ActiveState Perl。
我之前没有听说过这种限制,其中构建和源目录必须处于同一级别。如果遇到此问题,可以尝试通过创建符号链接来解决此问题(请参阅mklink
命令)。
答案 1 :(得分:0)
通常有两种选择来构建Qt,-prefix-install和-prefix / foo
你选择一个,所以如果-prefix不允许你输入make install,那么我想在Windows上你必须使用-prefix-install route,它是你提取Qt的目录的沙盒安装。
我猜你没试过make install?所以试试吧。它应该将Qt安装到远离源的单独目录中。
答案 2 :(得分:0)
至少可以通过临时将\ qt \ 4.5.2-sources \ include \ Qt添加到包含路径来解决丢失包含文件(例如qscriptengine.h)的问题。
答案 3 :(得分:0)
我将阴影版本从我的主文件夹移动到C:中的文件夹,并且它有效。我知道这很奇怪,但那就是发生了什么。我怀疑它一定是syncqt中的错误。