如何从源代码构建qt

use*_*508 21 installation qt qmake

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

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

然后我找到了关于进行阴影构建的这个链接,但它有一个很大的限制,即构建目录必须与源目录处于同一级别.


我猜你没试过make install?所以试试吧.它应该将Qt安装到远离源的单独目录中.

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

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

configure -prefix builddir -platform win32-msvc2005
nmake install
Run Code Online (Sandbox Code Playgroud)

上面两行的效果是qt是在源目录中编译的,而不是直接编译到我用前缀指定的builddir.然后编译的文件被复制到我的builddir中.我希望能够将我的Qt文件直接构建到构建目录,因为这样我在编译期间需要4 Gb空间用于源代码.此外,pdb文件未复制到我的buildir,这是另一个问题.

roh*_*npm 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
Run Code Online (Sandbox Code Playgroud)

如果源存在\qt\4.5.2-sources,那将导致构建进入\qt\4.5.2-build当前驱动器.

此外,你必须有perl,PATH建议使用ActiveState Perl.

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


mxc*_*xcl 0

Windows 上的 IIRC,您必须执行沙箱安装,无法执行 UNIX 典型的“make install”。

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

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

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