Fonction non résolue... mais fichier bien inclu !

Cluric -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Ayant récupéré un projet C++, je lance tranquillement mon eclipse, et je regarde les quelques erreurs qui apparaissent.

Et j'ai droit à un joli : "Function 'setOrganizationName' could not be resolved".
Je regarde un peu plus haut dans mes includes, et je vois qu'il y a bien un "#include <QCoreApplication>".
Si je vais voir à cet emplacement (via ctrl + clic) je me vois redirigé directement vers "qcoreapplication.h" ce qui parait logique puisque ledit fichier qcoreapplication comporte bien une fonction :
"static void setOrganizationName(const QString &orgName);"

Je récapitule :
setOrganizationName utilisé dans un fichier --> <QCoreApplication> --> "qcoreapplication.h" --> static void setOrganizationName(...)

Et c'est là que je suis largé : la fonction est bien là... l'inclusion du fichier la comportant aussi, tout va bien... et il ne la trouve pas ! Encore ça aurait été une erreur de paramètres incorrects...

Quelqu'un peut il m'aider, en m'expliquant ce qui cloche ?

Merci d'avance

A voir également:

2 réponses

Utilisateur anonyme
 
Bonjour

Ton fichier "qcoreapplication.h" comporte simplement de déclarations (prototypes) de fonction, pas les fonctions elle-mêmes.
Le compilateur C se satisfait de cette déclaration pour la phase de compilation à proprement parler. Mais au moment de créer le code exécutable (l'édition des liens) il lui faut la "vraie" fonction et c'est ça qui lui manque. Regarde bien ton message d'erreur, il y a sûrement quelque chose qui t'indique que c'est lors de l'édition de lien.
En pratique, ça veut dire qu'il faut que tu ajoutes le fichier qcoreapplication.cpp dans les sources de ton projet, ou la bibliothèque qcoreapplication (.lib ou .autre chose, ça dépend de ton C++)
1
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
je précise ce que dire le père, comme il s'agit d'une application QT, il faut lier avec la bibliothèque QT.
L'idéal lorsqu'on fait du QT, c'est d'utiliser QTcreator pour le projet. Sinon, il y a les outils QT pour compiler (qmake).
Si tu veux vraiment pas des outils QT, tu peux ajouter tout les chemins qui vont bien dans eclipse, et lier avec -lqtcore (de mémoire).
0