2012-01-06 93 views
0

我試圖在命令行上編譯Qt Creator項目。這就是我所做的。在命令行上編譯項目時,找不到Qt頭文件

$ qmake 
$ make 
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DALLOWSYNCING -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -o main.o main.cpp 
In file included from ./model/videostream.h:4:0, 
       from ./model/videostreamersession.h:4, 
       from view/videoplayerwindow.h:4, 
       from main.cpp:3: 
./model/videoframe.h:5:18: fatal error: QImage: No such file or directory 
compilation terminated. 
make: *** [main.o] Error 1 

看起來像make找不到Qt相關類的頭文件。我如何告訴make它可以使用附加參數或環境變量找到它們?我注意到默認包含了一些搜索路徑,但在我的環境中,它們位於/opt/QtSDK/Desktop/Qt/474/gcc/include/


按照要求,我的PRO文件。它最初是由Qt Creator生成的,所以它沒有什麼特別之處。

QT += core gui 

TARGET = output 
TEMPLATE = app 

SOURCES += # Trimmed for brevity 
HEADERS += # Trimmed for brevity 

# Special build flags 
DEFINES += ALLOWSYNCING 

# These libraries are required for the program to operate 
LIBS += -ljrtp -ljthread 
+0

請添加您的.pro文件。 – 2012-01-06 14:43:05

+0

查看更新後的帖子。 – Pieter 2012-01-06 16:05:26

+0

看起來正確。/usr/include/qt4/QtGui和/ usr/include/qt4/QtGui/QImage存在嗎? (也許你已經安裝了qmake distro軟件包,但不是-dev軟件包)如果你想使用SDK,請按照合成器patel的建議將它的bin/dir添加到PATH中。 – 2012-01-06 18:52:43

回答

0

CXXFLAGS = 「 - 我的/ opt/QTSDK /桌面/ QT/474/GCC /包括/」 CFLAGS = 「 - 我的/ opt/QTSDK /桌面/ QT/474/GCC /包括/」 LDFLAGS =「/ opt/QtSDK/Desktop/Qt/474/gcc/lib」製作

但是,你可能在Mac上我猜測..在這種情況下,你應該只出口QT_DIR =/opt/QtSDK/Desktop/Qt/474 /,然後將/ opt/QtSDK/Desktop/Qt/474/bin添加到PATH中,並且一旦qmake運行就應該將所有東西都調整到位。

+0

這是QTDIR,設置它不應該是必要的。只需將qmake添加到PATH即可。 – 2012-01-06 14:42:54

+0

直接運行'/ opt/QtSDK/Desktop/Qt/474/gcc/bin/qmake'似乎可行。謝謝! – Pieter 2012-01-06 19:09:41

相關問題