Advertentie

Auteur Topic: [Opgelost]Code::Blocks met Qt  (gelezen 1187 keer)

Offline vetyst

  • Lid
  • ***
  • Berichten: 75
  • Aantal ++: 3
[Opgelost]Code::Blocks met Qt
« Gepost op: december 29, 2011, 22:06:32 pm »
Beste,

ik ben al enge tijden bezig met het proberen te leren van Win32Api maar wat blijkbaar niet zo'n goed idee bleek tezijn

Nu ben ik er achter gekomen dat er dus ook een zogenoemde Qt Library is door hier op het forum te snuffelen daarbij heb ik geprobeert het te instaleren in Code::Blocks maar om een of andere redenen geeft hij errors over de Functies aan :

C:\Program Files (x86)\CodeBlocks\xLibraries\include\Qt\QApplication.h|3|warning: #warning "Inclusion of header files from include/Qt is deprecated."|
C:\Program Files (x86)\CodeBlocks\xLibraries\include\Qt\QLabel.h|3|warning: #warning "Inclusion of header files from include/Qt is deprecated."|
obj\Debug\Main.o||In function `main':|
C:\Projects\CodeBlocks\Qt Tutorial\001\Main.cpp|6|undefined reference to `_imp___ZN12QApplicationC1ERiPPci'|
C:\Projects\CodeBlocks\Qt Tutorial\001\Main.cpp|7|undefined reference to `_imp___ZN6QLabelC1ERK7QStringP7QWidget6QFlagsIN2Qt10WindowTypeEE'|
C:\Projects\CodeBlocks\Qt Tutorial\001\Main.cpp|9|undefined reference to `_imp___ZN12QApplication4execEv'|
C:\Projects\CodeBlocks\Qt Tutorial\001\Main.cpp|9|undefined reference to `_imp___ZN12QApplicationD1Ev'|
C:\Projects\CodeBlocks\Qt Tutorial\001\Main.cpp|9|undefined reference to `_imp___ZN12QApplicationD1Ev'|
obj\Debug\Main.o||In function `QString':|
C:\Program Files (x86)\CodeBlocks\xLibraries\include\QtCore\..\..\src\corelib\tools\qstring.h|419|undefined reference to `_imp___ZN7QString16fromAscii_helperEPKci'|
obj\Debug\Main.o||In function `~QString':|
C:\Program Files (x86)\CodeBlocks\xLibraries\include\QtCore\..\..\src\corelib\tools\qstring.h|880|undefined reference to `_imp___ZN7QString4freeEPNS_4DataE'|
||=== Build finished: 7 errors, 2 warnings ===|


De Code die ik op het moment gebruik is :

Code: C++ (QT)
  1. #include <Qt/QApplication.h>
  2. #include <Qt/QLabel.h>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.         QApplication app(argc, argv);
  7.         QLabel *label = new QLabel("Hello World!");
  8.         label->show();
  9.         return app.exec();
  10. }
  11.  

weet iemand hoe ik dit kan verhelpen ?

Alvast bedankt,
Vetyst
« Laatst bewerkt op: januari 04, 2012, 22:20:56 pm door vetyst »
<html5> - .#css3 - JavaScript - $(jQuery) - SQL - $php5 - C++ - C# - Java - <XML>

Offline jeetee

  • Zeer actief lid
  • *****
  • Berichten: 305
  • Aantal ++: 10
Re: Code::Blocks met Qt
« Reactie #1 Gepost op: december 29, 2011, 23:10:22 pm »
Zelf nihil ervaring met Qt en/of C::B, maar ik kan je wel vertellen wat de waarschuwingen en foutmeldingen inhouden:

 * de eerste 2 regels zijn waarschuwingen, de includes die je nu gebruikt in je code zijn niet verkeerd, maar blijkbaar wel verouderd; dwz dat je code wel nog zal compileren en werken, maar hoogst waarschijnlijk in de volgende versie van Qt niet meer zal werken zonder aanpassingen.

 * de volgende 7 lijnen zijn errors die erop wijzen dat je de library niet (goed) gelinkt hebt. (een toekomstige tip: in 90% van de gevallen wijst een 'undefined reference' error vanuit een object-file op een ontbrekende library bij het linken).
Opnieuw kan ik je hier helaas niet verder helpen met het instellen van de juiste links voor Qt binnen C::B; het enige wat ik kan meegeven is dat het linken van een lib meestal gebeurt met de -l switch.
2 + 2 = 5, within a large range of 2

Offline Divendo

  • Administrator
  • Zeer gerespecteerd lid
  • ********
  • Berichten: 2886
  • Aantal ++: 71
    • Divendo Webs
Re: Code::Blocks met Qt
« Reactie #2 Gepost op: december 30, 2011, 10:22:18 am »
De namen van de libs die je zoekt zijn QtGui4 en QtCore4, dus je moet de opties -lQtGui4 -lQtCore4 meegeven aan de compiler (hoe dat gaat in C::B weet ik niet).
De includes van Qt gaan tegenwoordig gewoon zonder Qt/ ervoor en zonder .h erna, dus: #include <QApplication>

Ik weet niet hoe goed Qt i.c.m. andere IDE's werkt, ik weet niet eens zeker of dat wel kan gezien Qt een paar kleine dingetjes aan de C++ syntax toevoegt. Maar ik denk wel dat het kan werken.
Als je serieus Qt wil gaan gebruiken zou ik als ik jou was toch gaan overwegen QtCreator als IDE te gaan gebruiken. Ik vind het een geweldige IDE, zeer modern, werkt fijn en het is een van de weinige waarbij de auto-aanvulling intuïtief en goed werkt. Daarbij kun je daarmee ook d.m.v. drag & drop je GUIs in elkaar zetten, daardoor zie je gelijk wat je doet dat maakt het werk een stuk makkelijker :) (en nee, da's geen vals spelen)
Admin - http://divendo-webs.com
[C++][Java][PHP][C#][JavaScript][jQuery][HTML][XML][CSS][SQL][Bash][GML][Nederlands][Engels][Latijn]

"Leren is proberen."

Offline vetyst

  • Lid
  • ***
  • Berichten: 75
  • Aantal ++: 3
Re: Code::Blocks met Qt
« Reactie #3 Gepost op: december 30, 2011, 10:58:33 am »
De namen van de libs die je zoekt zijn QtGui4 en QtCore4, dus je moet de opties -lQtGui4 -lQtCore4 meegeven aan de compiler (hoe dat gaat in C::B weet ik niet).
De includes van Qt gaan tegenwoordig gewoon zonder Qt/ ervoor en zonder .h erna, dus: #include <QApplication>

Ik heb deze libraries toegevoegt, het enige verschil met daarvoor is dat er 2 warnings en 3 errors verdwenen zijn dus nog 4 errors over hou.

@#include <QApplication> werkt niet in C::B vandaar dat ik Qt/ en .h gebruik

Ik zal nu even de Qt Creator uit proberen als deze beter werkt zul je dat zien in de
 titel :)
<html5> - .#css3 - JavaScript - $(jQuery) - SQL - $php5 - C++ - C# - Java - <XML>

Offline Divendo

  • Administrator
  • Zeer gerespecteerd lid
  • ********
  • Berichten: 2886
  • Aantal ++: 71
    • Divendo Webs
Re: Code::Blocks met Qt
« Reactie #4 Gepost op: december 30, 2011, 11:25:40 am »
Daar hoef je iig niks te linken enzo, doet ie vanzelf!
Daar moet je trouwens wel gewoon #include <QApplication> doen ;)
Admin - http://divendo-webs.com
[C++][Java][PHP][C#][JavaScript][jQuery][HTML][XML][CSS][SQL][Bash][GML][Nederlands][Engels][Latijn]

"Leren is proberen."

Offline vetyst

  • Lid
  • ***
  • Berichten: 75
  • Aantal ++: 3
Re: Code::Blocks met Qt
« Reactie #5 Gepost op: december 30, 2011, 12:20:26 pm »
Ik heb zojuist Qt Creator geinstaleert maar om een of andere reden kan ik geen Qt projecten maken omdat ik geen versie van Qt ge instaleert heb terwijl ik wel Versie 4.8.0 op mij computer heb staan

enige oplossingen ?
<html5> - .#css3 - JavaScript - $(jQuery) - SQL - $php5 - C++ - C# - Java - <XML>

Offline Divendo

  • Administrator
  • Zeer gerespecteerd lid
  • ********
  • Berichten: 2886
  • Aantal ++: 71
    • Divendo Webs
Re: Code::Blocks met Qt
« Reactie #6 Gepost op: december 30, 2011, 14:06:31 pm »
Probeer ze beide te deïnstalleren en gewoon ze samen tegelijk te installeren.
Dus je kiest daar gewoon de Windows Online installer
Vervolgens volg je de stappen op het scherm (gewoon volledige installatie uitvoeren), en dan heb je Qt en Qt Creator op je PC geïnstalleerd staan...
Admin - http://divendo-webs.com
[C++][Java][PHP][C#][JavaScript][jQuery][HTML][XML][CSS][SQL][Bash][GML][Nederlands][Engels][Latijn]

"Leren is proberen."

Offline vetyst

  • Lid
  • ***
  • Berichten: 75
  • Aantal ++: 3
Re: [Opgelost]Code::Blocks met Qt
« Reactie #7 Gepost op: januari 04, 2012, 22:25:00 pm »
Bedankt voor de hulp.

De probleem zat hem in hoe ik de libraries include.

Ipv de path naar de libraries te zetten heb ik de library naam zelf erin gezet dus dan ga je naar

Settings -> Compiler and Debugger -> Linker Settings
Klik dan op Add
en voer dit in:
libQtgui4.a
klik op ok
klik weer op Add
en type deze keer
libQtCore4.a
in

Hij zal het nu moeten doen als je de path van de library al manual heb aan gegeven bij de Search Directory -> Linker
<html5> - .#css3 - JavaScript - $(jQuery) - SQL - $php5 - C++ - C# - Java - <XML>

Offline Divendo

  • Administrator
  • Zeer gerespecteerd lid
  • ********
  • Berichten: 2886
  • Aantal ++: 71
    • Divendo Webs
Re: [Opgelost]Code::Blocks met Qt
« Reactie #8 Gepost op: januari 04, 2012, 22:57:22 pm »
Je weet verder dat om het te bouwen je qmake moet gebruiken?
Admin - http://divendo-webs.com
[C++][Java][PHP][C#][JavaScript][jQuery][HTML][XML][CSS][SQL][Bash][GML][Nederlands][Engels][Latijn]

"Leren is proberen."

Offline vetyst

  • Lid
  • ***
  • Berichten: 75
  • Aantal ++: 3
Re: [Opgelost]Code::Blocks met Qt
« Reactie #9 Gepost op: januari 04, 2012, 22:59:18 pm »
Ik gebruik nu Code::Blocks MinGW en het werkt uitstekent!
<html5> - .#css3 - JavaScript - $(jQuery) - SQL - $php5 - C++ - C# - Java - <XML>

Advertentie