① QT在编译的时候找不到头文件
首先
qmake -project
然后打开生成的hello.pro文件,加上两行
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
把这两行放前面
大体如下:
######################################################################
# Automatically generated by qmake (3.0) ?? ??? 26 08:54:10 2014
######################################################################
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TEMPLATE = app
TARGET = hello
# Input
SOURCES += main.cpp
然后
qmake hello.pro
再
mingw32-make
② qt一直构建Pro文件,这是为什么呢我的Pro文件和编译信息输出如图片所示,好几天了,那位大侠指
电脑时间问题,因为电脑设置的时间与标准时间不对应,所以一直在qmake,把时间设置正确即可。
③ linux下执行qt程序怎么编译运行
qmake -project? 已经有.pro文件了! 直接运行qmake或者qmake snake.pro或qmake -makefile snake.pro.
重新解压,按以下步骤做:
$ qmake
$ make
找到可执行文件(不是.o, 没后缀的), 一般如果snake.pro中没设置TARGET,默认生成的可执行文件为snake,输入
.$ /snake
④ qt编程头文件问题
1.试试#include <QtWidgets/QDialog>
2.修改pro文件之后,要双击main.cpp,这样编译按钮才可用。
3.pro中的一些配置信息决定了qt去链接哪些库。或者,你可以完全按照Qt creator中的向导生成一个最简单的GUI程序,然后看看它的pro文件怎么写的。
贴出你的pro文件内容。如果不行,使用qmake重新生成一个。
我的pro文件:
其中的Qt += core gui widgets 就表示链接QtCore(d).dll、QtGui(d).dll、QtWidgets(d).dll
QT+=coregui
greaterThan(QT_MAJOR_VERSION,4):QT+=widgets
TARGET=113
TEMPLATE=app
SOURCES+=main.cpp
⑤ QT编译的问题
qt的make要写好make的配置文件,可以自动生成配置文件的,建议你还是在windows下面用ide,生成那个文件,然后到linux下面编译,而且需要经常的make clean一下,否则也会出错
⑥ pro文件和pri文件
QT中,qmake为编译工具,通过qmke可以生成一个makefile文件,这就和pro文件有关,下面介绍pro文件的写法:
TELEPLATE :模板
app:默认不写时为app,即应用程序的makefile。
lib :建立一个库的makefile。
TARGET:生成应用程序名
CONFIG:配置信息
CONGIF += qt warn_on release
分别意思是,告诉qmake这个应用程序是使用QT连编的,这就是说qmake再连接和为编译添加所需要的包含路径的时候会考虑到用qt库。warm_on告诉qmake要把编译器设置为输出警告信息的。release告诉应用程序必须被连编成一个发布版本。开发过程中可设置为也可以为debug版本。
INCLUDEPATH:头文件包含路径
CODECFORSRC = gbk :源文件编码方式
#工程中的源文件和头文件
SOURCES +=
HEADERS +=
RESOURCES += qrc/painter.qrc // 工程中包含的资源文件
FORMS += forms/painter.ui // 工程中包含的ui设计文件
LIBS += -l(库名)
#平台相关
win32 {
SOURCES += hello_win.cpp
}
unix{
LIBS +=-lcur3
}
如果项目工程大文件多:
可以将SOURCES,HEADERS ,FORMS单独拿出来放到单独一个test.pri文件中,然后在pro文件中用 include(test.pr)进行管理。
pro文件中$和$$符号含义和用法:
包含pri文件:
自定义变量 :
BASEDIR = .. /.. /.. /.. /
include ( $$ { BASEDIR } pri / common.pri )
include ( $$ { BASEDIR } pri / baseapk.pri )
INCLUDEPATH += $$ { BASEDIR } include
INCLUDEPATH += $$ { BASEDIR } include / forecastbusiness
自定义变量:
myVersion = 1.2
TARGET = software $$ { myVersion }
FILE = main.cpp
SOURCES += $$ FILE
重新qmake 后正确生成目标程序为software1.2的工程。
⑦ 由makefile 如何生成QT 的pro 文件
qt项目中想添加编译参数,修改***.pro文件,添加:
QMAKE_CFLAGS = `pkg-config --cflags --libs dbus-glib-1`
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
即可添加makefile的编译参数。`pkg-config --cflags --libs dbus-glib-1`是本次的编译参数
如果添加多个:
QMAKE_CFLAGS += `pkg-config --cflags --libs dbus-glib-1`\
`pkg-config --cflags --libs avbc`
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
参考:
QT中Makefile文件添加-fno-rtti编译参数
用QT Creator生成的文件进行编译时出现错误,网上查找说是要修改生成的Makefile文件,在CFLAGS和CXXFLAGS中添加“-fno-rtti”编译参数。这样每个Makefile文件都要修改,很麻烦。那么能不能在生成Makefile时自动加上呢。可以,只需要修改qmake的配置即可!
以下为解决方法(也可供同类问题参考):
1、#sudo gedit Makefile 查看生成的Makefile。在其中找到Makefile: mycom.pro /QT4/builddir/sdk/qtopiacore/target/mkspecs/qws/linux-arm-g++/qmake.conf 。
这就是要修改的配置文件
2、#sudo gedit /QT4/builddir/sdk/qtopiacore/target/mkspecs/qws/linux-arm-g++/qmake.conf
找到要修改的项并修改QMAKE_CFLAGS = -fno-rtti -pipe,QMAKE_CXXFLAGS = $$QMAKE_CFLAGS(说明引用QMAKE_CFLAGS)
⑧ linux下qt程序如何编译运行说的详细点!!!!急急急!!!
1 需要保证linux下要安装了qt环境
2 进入你的程序目录,运行 /usr/local/qt_install/bin/qmake xxxx.pro。 其中/usr/local/qt_install是qt安装目录. xxxx.pro是你应程程序中的pro文件
3 执行make
4 运行生成的bin文件