21

在过去的几天里,我在 Qt 论坛和谷歌上搜索了很多,但我找不到这个问题的任何明显答案。

我找到了-prefix可以提供用于配置以指定不同安装目录的选项(甚至没有在 Windows 上记录),但这根本不是源代码和二进制文件的明确分离,因为构建仍然在源目录中完成,然后安装所需的文件被复制到安装目录。我尝试了这个-prefix选项,但遇到了一些问题。(即它不会将.pdb文件复制到安装目录。)

然后我发现了这个关于做影子构建的链接,但它有一个很大的限制,即构建目录必须与源目录处于同一级别。


我猜你没有尝试安装?所以试试吧。它应该将 Qt 安装到远离源的单独目录中。

你是说在我配置之后,我应该做nmake install 而不是只做nmake?我知道nmake 将处理从qmake 生成的makefile 并将它们放置在源Qt 目录中,但是nmake install 将确切地做什么,即在哪个目录中安装文件以及如何指定将安装文件的目录。

请注意,我已经这样做了:

configure -prefix builddir -platform win32-msvc2005
nmake install

上面两行的效果是qt是编译在源目录中的,而不是直接编译到我用prefix指定的builddir。然后将编译后的文件复制到我的 builddir 中。我希望有一些东西可以将我的 Qt 文件直接构建到构建目录,因为这样我在编译过程中仍然需要 4 Gb 的空间用于我的源目录。pdb 文件也没有复制到我的 buildir 中,这是另一个问题。

4

4 回答 4

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当前驱动器。

此外,您的 中必须有 perl,PATH建议使用 ActiveState Perl。

我以前没有听说过构建目录和源目录必须处于同一级别的限制。如果您遇到此问题,您可以尝试通过创建符号链接来解决它(请参阅mklink命令)。

于 2009-08-07T22:46:17.813 回答
0

我将阴影构建从我的主文件夹移到 C: 中的一个文件夹中,它起作用了。我知道这很奇怪,但这就是发生的事情。我怀疑它一定是syncqt中的一个错误。

于 2012-04-04T13:34:34.523 回答
0

Windows 上的 IIRC,您必须进行沙盒安装,不能进行 UNIX 典型的“make install”。

通常有两个用于构建 Qt 的选项,-prefix-install 和 -prefix /foo

你选择一个,所以如果 -prefix 不允许你键入 make install,那么我猜在 Windows 上你必须使用 -prefix-install 路由,这是一个沙盒安装到你提取 Qt 的目录。

我猜你没有尝试安装?所以试试吧。它应该将 Qt 安装到远离源的单独目录中。

于 2009-08-07T17:10:15.760 回答
0

至少可以通过临时添加 \qt\4.5.2-sources\include\Qt 到包含路径来解决缺少包含文件(例如 qscriptengine.h)的问题。

于 2009-10-09T11:42:45.810 回答