① 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文件