Qt 4.8.5 Windows/Ubuntu下x64编译

来源:互联网 发布:unity3d塔防游戏素材 编辑:程序博客网 时间:2024/04/30 20:19

最近需要将所有已有的程序升级到64位,需要编译Qt的64位库。网上搜了很多方法,没有什么成功的。最后摸索了一下,简单的说一下。

Windows

环境准备:

1.Visual Studio 2010(Visual Studio 2008需要在安装的时候勾选x64工具包,安装上的x64工具包是beta版本的,不知道会不会有BUG,我只是编译了一下);

2.Windows机器上一定要有Perl,否则编出来的东西不能用,assistant之内的全都没法打开;我安装的是ActivePerl 5.24 x64;

3.QT安装包解压在C:\Qt\4.8.5。保证存在C:\Qt\4.8.5\configure.exe

步骤:

1.修改源码C:\Qt\4.8.5\src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp,在325行和327行有个BUG,把里面中文的引号改成\";

2.从开始菜单打开Visual Studio x64 Win64 Command Prompt (2010);

3.cd C:\Qt\4.8.5

4.set PATH=C:\Qt\4.8.5\bin;%PATH%

5.执行configure.exe,后面的参数根据需要增加;完成之后会生成C:\Qt\4.8.5\bin\qmake.exe

6.然后运行nmake就行了

7.编译完成后C:\Qt\4.8.5\bin\中会有很多动态库,以及designer.exe、assistant.exe等程序

8.运行nmake clean把其中的中间文件清一清,剩下的就可以和产品发布了


Ubuntu

Ubuntu比较麻烦,下面的方法在16.04和16.10测试通过

1.首先需要通过apt-get安装一堆依赖项,如果不是上面的两个版本,那么你要先查询下面的软件包在不在,16.0x直接安装就ok

sudo apt-get install build-essential libx11-dev libxau-dev libxaw7-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxfont-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev libglib2.0-dev  libglib2.0-dev libgtk2.0-dev libcups2-dev libgl1-mesa-dev libglu1-mesa-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

2.解压代码到$HOME下面

tar zxvf qt-everywhere-opensource-src-4.8.5.tar.gz

如果g++版本太高的话(比如16.04和16.10自带的版本,都TM的6.2了),会在编译中途报错,包std::tr1中的部分内容找不到。修改qt目录下的mkspec/linux-g++/qmake.conf,在QMAKE_CFLAG = -m64下面增加一行QMAKE_CXXFLAGS += -std=gnu++98

3.到qt目录下运行configure,注意把安装路径带上

cd $HOME/qt-everywhere-opensource-src-4.8.5

./configure -prefix /usr/local/Qt-4.8.5

4.然后执行make

5.然后执行sudo make install

6.环境变量什么的这里就不说了,按需配置



0 0
原创粉丝点击