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

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ı?

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

İ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?

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

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

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.

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

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

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.

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?

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.

1 Beğeni

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

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

2 Beğeni