㈠ 新人求教,急.qt4.8.6无法编译
认真核对操作步骤:
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 = .. ",如此一来,任意路径有效。
㈡ 刚装好qt creator 运行示例程序报错,在命令行却可以编译
根据报错,缺少库文件。cannot find -lqtmaindcollect2,请楼主检查环境变量设置,和所需的库文件是否添加至工程。
㈢ 命令行编译qt程序遭遇 No such file or directory
对于一个qt工程,qt-creator运行没有问题。后面为了提高自动化效率,写一个脚本通过命令行编译qt程序,发现编译报错,报错信息如下:
报错信息直接指明了原因:找不到头文件,说明要用的库的头文件路径不在 INCLUDE 变量里,所以编译时就找不到。
除了上面的报错,可能还会有如下的报错情况:
那为什么qt-creator运行没有问题呢?
因为 qt-creator 获取了一些环境变量如下:
解决办法就是自行把需要用到的路径加到相应的变量里。
如下通过 python 脚本来编译qt程序,把路径加到相应的 PATH 、 INCLUDE 、 LIB 环境变量里,这样编译的时候就能找到相应的文件
脚本里的路径添加都是临时生效,脚本执行完就失效了,所以不用担心会破坏系统环境变量。
㈣ Qt 编译不了,怎么解决啊,'cl' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
没装 Visual Studio 自然用不了 cl 编译器。
如果确定装了 Visual Studio ,就手动设置编译器选项,选择正确的路径
如果真的没装 Visual Studio ,也没必要装(毕竟 Visual Studio 体积不小),mingw-w64体积小得多,而编译器的优化能力甚至更出色(下载地址: http://sourceforge.net/projects/mingw-w64/ )
㈤ Qt 编程无法编译,高手来!
把你生成的xxx-build-desktop这个文件夹删除,重新编译试试看,如果不行的话就是你的环境变量没设好,为mingw32设一下环境变量
㈥ linux命令行编译qt程序时,默认使用的是arm-linux-gcc编译器,生成的可执行程序无法
修改$QTDIR/mkspecs目录下的符号链接default.将其指向linux-g++
$QTDIR是路径,具体要看你把QT装到什么地方和QT本身的版本,一般是/usr/lib[64]/qt4
修改default符号链接的作用是让qmake在生成Makefile的时候将Makefile文件中的编译器变量$CC与$CXX赋值成gcc和g++