QT programlama, <QApplication> böyle bir dizin yok


(Muhammed YILMAZ) #1

QT öğrenmek istiyordum. Başlayayım dedim. Aşağıdaki kodu aşağıdaki komutlar ile derlemeye çalışınca aşağıdaki hatayı alıyorum. Yardımcı olabilir misiniz?

Kod:

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
	QApplication app(argc, argv);
	QLabel merhaba("Merhaba Dunya!");
	merhaba.show();
	return app.exec();
} 

Çıktı:

myilmaz@pardus:~/Masaüstü/QT Deneme$ qmake -project
myilmaz@pardus:~/Masaüstü/QT Deneme$ qmake
myilmaz@pardus:~/Masaüstü/QT Deneme$ make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -I../../Programlar/anaconda3/include/qt -I../../Programlar/anaconda3/include/qt/QtGui -I../../Programlar/anaconda3/include/qt/QtCore -I. -I../../Programlar/anaconda3/mkspecs/linux-g++ -o main.o main.cpp
main.cpp:1:30: fatal error: QtGui/QApplication: Böyle bir dosya ya da dizin yok
 #include <QtGui/QApplication>
                              ^
compilation terminated.
Makefile:429: recipe for target 'main.o' failed
make: *** [main.o] Error 1

Not: Daha önce forumda bir programı çalıştırmak için qt5 kurulumu için bir komut görmüştüm. O program için o komut ile qt5’i kurmuştum. Şimdi hatırlayamadım hangi komut olduğunu. Acaba programı çalıştırmak için olan qt5 ile program yazmak için olan qt5 kurulumları farklı mı?


(Yunusemre Şentürk) #2

Yeni başlıyorsanız qtcreator ile deneyin önce yani bir IDE kullanın. bunun içinde Pardus ta sadece aşağıdaki paketleri yüklemeniz yeterli;

sudo apt install qt5-default
sudo apt install qtdeclarative5-dev
sudo apt install qt-sdk


[NASIL] QT Creator nasıl kurulur?
(Muhammed YILMAZ) #3

İkisi de kurulu. Başlangıçta ben de qtcreator ile yapmayı düşünmüştüm. Fakat qt.io da ücretli olarak gördüm. Eğer ücretsiz olarak yüklenebiliyorsa nasıl yükleyebilirim?


(Yunusemre Şentürk) #4

ikiside kurulu ise zaten yüklüdür.


(Muhammed YILMAZ) #5
myilmaz@pardus:~$ sudo apt install qt5-default
[sudo] password for myilmaz: 
Paket listeleri okunuyor... Bitti
Bağımlılık ağacı oluşturuluyor       
Durum bilgisi okunuyor... Bitti      
qt5-default zaten en yeni sürümde (5.7.1+dfsg-3+b1).
0 paket yükseltilecek, 0 yeni paket kurulacak, 0 paket kaldırılacak ve 0 paket yükseltilmeyecek.
myilmaz@pardus:~$  sudo apt install qtdeclarative5-dev
Paket listeleri okunuyor... Bitti
Bağımlılık ağacı oluşturuluyor       
Durum bilgisi okunuyor... Bitti      
qtdeclarative5-dev zaten en yeni sürümde (5.7.1-2+b2).
0 paket yükseltilecek, 0 yeni paket kurulacak, 0 paket kaldırılacak ve 0 paket yükseltilmeyecek.
myilmaz@pardus:~$ qt
qtchooser     qtdiag        qtpaths       
qtconfig      qt-faststart  qtplugininfo  
myilmaz@pardus:~$ qt

Uygulamalar arasında da yok


(Yunusemre Şentürk) #6

Eksik bilgi verdiğim için özür diliyorum yanıtımı düzelttim. Yoğunluktan olabiliyor böyle küçük hatalar. SDK yı da yüklemeniz gerekiyor.

Selamlar.


(Muhammed YILMAZ) #7

Teşekkür ederim. İndiriyorum. Olur böyle şeyler :smile:


(Muhammed YILMAZ) #8

qtcreator ile çalıştırmayı deneyince de aynı hatayı aldım.

Bir de qt-sdk yüklenirken de söyle bir uyarı almıştım.
Ekran görüntüsü_2018-01-04_15-12-41


(Yunusemre Şentürk) #9

alttaki uyarıyla bir işiniz yok pro dosyasında QT parametresi yanında += widgets yer alması gerekiyor.

QT += widgets

qtcreator da hazır template ler var zaten bu tür basit problemlerle karşılaşmanızı engeller.

Bazı şeyleri önce google edin lütfen.


(Muhammed YILMAZ) #10

Teşekkür ederim, fakat neden böyle bir şey oluyor. Her seferinde .pro dosyasını açıp içerisine bu satırı eklemek zorunda mıyım?


(Muhammed YILMAZ) #11

Ekleme:

myilmaz@pardus:~/Masaüstü/QT Deneme$ qmake-qt4 -project
myilmaz@pardus:~/Masaüstü/QT Deneme$ qmake-qt4
myilmaz@pardus:~/Masaüstü/QT Deneme$ make

ile yapınca sıkıntı olmuyor.


(Yunusemre Şentürk) #12

Her seferinde diye bir şey yok, source code içinde yer alan bir dosya derleme parametrelerini bile yönlendirebileceğiniz bir configurasyon bu kod yazmaktan farkı yok, örneğin ;

pro dosyası qmake i yönlendiren bir dosya, qmake-qt4 le qt4 ABI si için derlemiş oluyorsunuz. komut satırından qt5 ile derlemek için önce QT_SELECT environment variable ını export etmeniz gerekiyor;

export QT_SELECT=qt5
qmake
make


(Muhammed YILMAZ) #13

İlgilendiğiniz için teşekkür ederim


(system) #14