您的位置:首页 > 编程语言 > Qt开发

如何在Windows上编译64位QT

2017-10-06 18:12 274 查看
编译64位的QT其实是无聊的工作,但是QT官方在windows中并未提供64位QT安装包,仅仅提供了32位。对于笔者,QT官方这种做法其实蛮让人觉得奇怪的,因为在其他系统,都有64位的安装包,或许QT官方有难言之隐吧?

为何笔者要变编译这种无聊的工作?其实苦逼程序猿的死穴就是要弄的东西无法搞定。如果大家在windows上用QT开发Android和IOS的程序,那么windows64bits操作系统上编译QT for Android/IOS是无法搞定的。原因在于windows64操作系统、QT 32位,NDK32/64存在不兼容性的问题,简单的说,就是在程序链接的时候会出现莫名其妙的错误,stdlib.h这种标准库都搞不定,汗~~~

要解决此问题,必须使用QT64位,但是官方有偏偏在windows不提供,所以硬着头皮上了。在网络上有一堆的文章,讲述如何在windows 64bits上编译QT 64bits,但是很多文章在实际使用中是不工作的,笔者花了很大精力做了去伪存真的工作,找到了1篇好文章,共享给电脑前苦逼的程序猿们。


How To Compile Qt with Visual Studio

网络地址为:http://www.holoborodko.com/pavel/2011/02/01/how-to-compile-qt-4-7-with-visual-studio-2010/

因为时间比较老,所以在编译的时候部分内容是有问题的,比如说现在不需要设置QMAKESPEC,platform部分,现在是使用win32-msvc2017等。

在编译之前,请大家一定要安装jom,充分利用CPU多核的能力,否则你会中途吐血的:-(

在QT的源代码目录,有一个README文件,里面包含着在编译QT之前需要的攻击,我将它的部分内容拷贝到下方:

   Windows:

   --------

     Open a command prompt.

     Ensure that the following tools can be found in the path:

     * Supported compiler (Visual Studio 2012 or later,

        MinGW-builds gcc 4.9 or later)

     * Perl version 5.12 or later   [http://www.activestate.com/activeperl/]

     * Python version 2.7 or later  [http://www.activestate.com/activepython/]

     * Ruby version 1.9.3 or later  [http://rubyinstaller.org/]

在编译之前,请务必安装!

【几个小细节】

1、QT的部分编译使用python2(),所以编译的时候如果发现print错误之类,表示使用了python2,于python3不兼容,所以需要安装python2来编译。

2、jom 编译的时候subcommand可能会出错,一旦有问题,需要用nmake来编译。

编译是困难的选择,上面的文章也仅仅是解决了一系列乱七八糟问题的部分,前面的路还很长,只能是边走边解决了。

祝大家好运!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息