Salut,
j'ai un problème avec une makefile écrites à la main, pour QT.
Voici ce que vous devez savoir:
Depuis un certain moment j'ai un problème avec l'installation de Visual Studio 6.0, c'est pourquoi j'ai abandonné cet IDE.
Maintenant j'utilise TextPad pour éditer (ça n'a pas changer:P:) et j'ai installer cygwin pour avoir make, ainsi que gcc, gpp, etc. sous windows.
Vu que j'ai installé cygwin, je peux, en principe utiliser le make, gcc, gpp, etc. Cela marche sans problème avec des codes banals.
Mais voilà, je suis en train de programmer mon projet avec QT, j'ai bien défini les répertoire d'include, de lib, etc. dans les règles de compilation, mais il me sort des erreur comme:
[quote]
/cygdrive/c/DOCUME~1/DmX/LOCALS~1/Temp/ccrh9SQK.o(.text + 0x58):xc_mainwnd.cpp: Undefined reference to 'QMainWindow::QMainWindow[not-in-charge]( QWidget *, const char *, unsigned)'
[/quote]
Je comprend la faute, en partie, il veut dire qu'il ne trouve pas de déclaration pour la fonction que j'utilise, mais ce n'est pas normal vu que le dossier include est bien défini dans les règles. Ce que je ne comprend par contre pas dans ce message d'erreur est le:
[quote]
[not-in-charge]
[/quote]
Pouvez-vous m'expliquer cela ? :):
Voici maintenant la makefile que j'ai écrit, s'il y a des erreurs, je vous serait reconnaissant de me le signaler:
[code]
QT_HOME = /cygdrive/c/Program\ Files/Programmation/Librairies/Qt-3.1.0
MOC = moc.exe
CXX = g++
CFLAGS = -I$(QT_HOME)/include
LDFLAGS = -L$(QT_HOME)/lib -lqt-mt
SRCS = xc_mainwnd.cpp \
xc_textedit.cpp \
xc_lineedit.cpp \
xc_dialog.cpp \
xc_main.cpp
Sur la toute première fonction qui appelle une classe de QT ?
Es-tu sûr de la syntaxe du chemin de QT HOME ?
Ne faut-il pas donner le chemin de moc.exe et de uic.exe ?
Je te soutiens mentalement dans ta quête.
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu].
euh ben en fait il ne met même pas de ligne, dès qu'il trouve un truc de Qt bam il dit qu'il connait pas...
Et pour moc.exe je l'ai ajouter dans le dossier bin de cygwin, mais je pense que je vais changer cela et mettre le path entier parce que ça peut peut-être engendrer des erreurs, je change vite cela et je te dis quoi :)
Ciao
__________________________
Grégory S.
eVias Web & Software Solutions.
Développement Web et logiciel en tout genre et Open Source.
Rebonjour,
en fait je viens de tester cela, j'ai donc changer le path de moc dans le makefile, et j'ai mis le bon.
Pendant un moment cela marchait, make me montrait des erreurs tout à fait normales ... (normales = fautes d'inattention quand je prog ... )
Mais après avoir corriger toutes ces erreur d'inatention, normalement make devrait se terminer sans erreur et il devrait, en principe, générer mon .exe, seulement il ne le fait pas, il m'affiche à nouveau ces drôles d'erreurs ... :S:
On pourrait me dire ce que c'est plz ?
Thanks ...
Ciao
__________________________
Grégory S.
eVias Web & Software Solutions.
Développement Web et logiciel en tout genre et Open Source.
J'ai déjà eu ce genre de problème (fonction not in-charge) avec gcc (ou plutôt g++ car c'est un pb c++), pour compiler des sources Qt ou des sources utilisant les templates (mais je ne saurais te dire exactement sa signification si ce n'est que la fonction implémentée dans ton fichier objet est différente de celle utilisée ailleurs).
Essaye de faire un make clean puis de recompiler entièrement ton projet. Si tu as modifié un fichier .h après avoir compilé quelques fichiers sources, ton makefile recompile les fichier générés par moc mais pas les autres fichiers sources (ta 3 ème règles de compil est %.o:%.cpp). Par exemple si tu modifie xc_mainwnd.h les fichiers moc_mainwind.* seront recompilés mais pas le fichier xc_mainwnd.o
Juste une précision, gcc et g++ de cynwin ne créent pas d'exe mais des a.out.
Ce sont des fichiers pour linux.
Ok c'est un détail.
Tu voudras pas faire un tut ou un article sur le comment intégrer Qt dans nos projets à la main ?
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu].
Non ce n'était pas une question mais une précision pour [DmXx].
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu].
D'accord avec toi que l'ambience retombe depuis quelques temps.
[quote] maintenant que quelques-uns se prennent pour des terreurs, ils répondent même quand on les salue.[/quote]
Je ne comprends pas à quoi tu fais référence.
Si c'est de moi, il y a un malentendu. En effet, j'ai posé une question à [DmXx] car c'est lui qui m'a appris en grande partie Qt (et toi aussi) et on en a pas mal discuté par chat et je serrais intéressé par la méthode pour utiliser Qt sur windows sans passer par Visual. C'est pour ça la question, et je l'ai oubliée quand tu m'as demandé si c'était pour toi.
Je crois que je me trompe peut-être aussi avec ces explications car il se peut que ce ne soit pas pour moi. En tout cas, je veux éliminer des quiproquos possible qui pourraient nuire à nos relations.
__________________________
Lisez la [url=http://www.forum.moteurprog.com/bavardages/forum-msg-22857-1.htm]charte[/url], pensez à regarder la [url=http://www.forum.moteurprog.com/FAQ/FAQ.php]FAQ[/url], les [url=http://www.moteurprog.com/Tutoriaux/]tutoriaux[/url], l'[url=http://www.moteurprog.com/Annuaire/]annuaire[/url] et faites une [url=http://www.forum.moteurprog.com/Rechercher/Index.php]recherche[/url] dans les forums.
N'oubliez pas le Tag [b][Résolu][/b][img]http://www.ressources.moteurprog.com//Ressources/Images/Forum/Resolu.gif[/img].
Initiez-vous à Delphi avec [url=http://www.turboexplorer.com/delphi]Turbo Delphi Explorer[/url], au C ou au C++ avec [url=http://www.codeblocks.org]Code::Blocks[/url] et C# avec [url=http://www.microsoft.com/france/msdn/vstudio/express/vcsharp/telechargez.mspx]Visual C# 2005 Express[/url].
ERREUR BBCODE SUR CE MESSAGE : - La valeur de la balise "quote" n'est pas correcte !