新人求教,急.qt4.8.6无法编译

新人求教,急.qt4.8.6无法编译,第1张

认真核对 *** 作步骤:

1、修改环境变量工具推荐:Rapid Environment Editor。

修改前请先备份当前的环境变量。然后:

(1)检查系统变量path,删除有关mingw其他版本等信息,以免与后续的mingw32-make冲突。

(2)检查用户变量INCLUDE、LIB、PATH、MSDevDir和MSVCDir,删除有关\Microsoft Visual Studio\VC98的信息,因为它们会与后续的mingw32-make冲突,导致编译出错。

2、在电脑上安装mingw编译器,假设路径安装在C:\Qt\mingw32。将C:\Qt\mingw32\bin添加进环境变量path,打开DOS命令行输入gcc --version和g++ --version和mingw32-make --version验证编译器安装成功。我用的MinGW版本是V4.8.2,

3、解压qt-everywhere-opensource-src-4.8.6.zip并进入目录。例如:D:\qt-everywhere-opensource-src-4.8.6\

4、依次执行以下DOS命令:

(1)configure -debug-and-release -opensource -prefix "D:\Qt4.8.6" -platform win32-g++ -nomake demos -nomake examples

常见的使用选项说明:

-debug-and-release编译debug和release版

-opensource 选择开源协议并确认

-platform win32-g++ 使用mingw编译

-prefix "D:\Qt4.8.6" 指定编译结果目录,如果未指定则默认当前

-shared 创建和使用共享Qt库

-static 创建和使用静态Qt库

-nomake demos -nomake examples 不编译例程

-nomake tests 不编译tests

-skip qtwebkit 忽略qtwebkit,因为编译它特别消耗时间

-mp 使用多核优化编译

(2)mingw32-make

(3)mingw32-make install

5、编译完成后,把C:\Qt\mingw32\bin\路径下的三个文件libgcc_s_dw2-1.dll、libstdc++-6.dll和libwinpthread-1.dll拷贝到D:\qt-everywhere-opensource-src-4.8.6\bin\。另外,也请把步骤1备份的环境变量还原。

6、修改Qt安装路径

最初编译时选择的路径是D:\Qt4.8.6\。如果想将它复制到其他盘符,并且改名,例如:C:\Qt\4.8.6_MinGW。这样一来会有问题吗?是的,会有问题,因为Qt有绝对路径依赖症。改名后C:\Qt\4.8.6_MinGW\bin\的exe执行程序都会出问题,要么程序打不开,要么多国语言发生异常。用记事本打开C:\Qt\4.8.6_MinGW\bin\qmake.exe,查找关键字“qt_prfxpath”,可以看到里面含有原始的安装路径。我们不可以手动去修改qmake.exe,真正有效的解决方法是:

在C:\Qt\4.8.6_MinGW\bin\路径下创建一个qt.conf文件,内容为

[paths]

Prefix = C:/Qt/4.8.6_MinGW

请注意:qt.conf文件必须是ANSI格式,并且Prefix的斜杠风格采取的是Linux的,而非Windows,否则会失效。或者使用"Prefix = .. ",如此一来,任意路径有效。

提示:如果使用ubuntu14.04一下版本,安装可能会比较麻烦,因为ubuntu14.04一下版本官网不在提供源的更新,QT所依赖的相关库无法下载安装。

源码下载:在网站http://download.qt.io/official_releases/ 下载qt-everywhere-opensource-src-4.8.6.tar.gz 百度上找gcc编译器的源码,我使用的是arm-Linux-gcc-4.3.2.tgz

1、首先安装arm-linux-gcc-4.3.2编译器

tar xzvf arm-linux-gcc-4.3.2.tgz解压,解压完成进入解压的目录

sudo mv /home/li/usr/local/arm/4.3.2/ ./把解压的编译器复制到/usr/local/arm/4.3.2/目录下(li是个人目录)

sudo gedit /etc/profile修改环境变量

export PATH=$PATH:/usr/local/arm/4.4.3/bin 增加路径设置,在末尾添加

source /etc/profile 注册环境变量 立即使新的环境变量生效

arm-linux-gcc -v查看编译器版本

2、配置QT4.8.6

tar xzvf qt-everywhere-opensource-src-4.8.6.tar.gz 解压qt源码包,完成后进入源码目录

./configure执行./configure会提示下面错误

make: g++: Command not found

make: *** [project.o] Error 127

原因是没有安装g++编译器

sudo apt-get install g++ make安装g++

./configure 在执行./configure会提示下面错误

Basic XLib functionality test failed!

You might need to modify the include and library search paths by editing

QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/zhu/Qt/qt-x11-opensource-src-4.5.2/mkspecs/Linux-g++

缺少QT所依赖的相关库libX11-dev libXext-dev libXtst-dev

apt-get install libX11-dev libXext-dev libXtst-dev安装着三个库

./configure再次执行./configure没有错误错误

3、编译QT4.8.6

make编译qt源码这个运行时间很长,耐心等待

4、安装QT4.8.6

sudo make install安装

(make &&make install编译与安装一步命令)

5、添加环境变量

sudo gedit /etc/profile

文件结尾添加下面语句

export PATH=/usr/local/Trolltech/Qt-4.8.6/bin:$PATH

source /etc/profile

qmake -v

查看是否生效


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8735663.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存