Problème Codeblock

Résolu/Fermé
DevilSky Messages postés 61 Date d'inscription lundi 24 février 2014 Statut Membre Dernière intervention 27 janvier 2020 - 27 janv. 2016 à 18:02
DevilSky Messages postés 61 Date d'inscription lundi 24 février 2014 Statut Membre Dernière intervention 27 janvier 2020 - 3 févr. 2016 à 16:40
Bonjour,

Je tente d'utiliser gtk avec codeblock et il y a une erreur qui me bloque qui est :

||=== Build: Debug in 5 (compiler: GNU GCC Compiler) ===|
ld.exe||cannot find -l-lgtk-3|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Je n'arrive pas à régler le "cannot find -l-lgtk-3
Comment régler ce soucis ?

Merci d'avance
A voir également:
  • Problème Codeblock
  • Codeblock - Télécharger - Langages

2 réponses

[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié par [Dal] le 27/01/2016 à 19:42
Salut DevilSky,

L'éditeur de liaison n'arrive pas à trouver la bibliothèque que tu as spécifié.

Comme tu as l'air d'être sous Windows (ton ld est un .exe et provient semble-t-il de MinGW), installe la bibliothèque après en avoir téléchargé une version binaire compatible avec ton système d'exploitation et gcc (comportant le fichier .a correspondant) quelque part sur ta machine et spécifie cet emplacement dans les propriétés de ton projet Codeblocks.

Enfin, vérifie le nom de ta bibliothèque.

"cannot find -l-lgtk-3" semple indiquer que tu as mis dans les propriétés de ton projet un nom du type "-lgtk-3", ce qui ne me parait pas correspondre au nommage de cette bibliothèque, du moins sous Linux, ou le fichier .so est de la forme libgtk-3.so, et où le paramètre passé à l'éditeur de liens devrait donc être "gtk-3". Je suppose que le nommage de la bibliothèque Windows devrait suivre la même structure, mais là je n'ai pas de machines Windows pour tester.

Tu peux t'inspirer des indications de cette entrée de la FAQ de CCM pour te guider sur l'usage des menus et des bibliothèques pour Codeblocks sous Windows avec MinGW.

https://forums.commentcamarche.net/forum/affich-37594493-codeblocks-installer-une-bibliotheque-librairie


Dal
1
DevilSky Messages postés 61 Date d'inscription lundi 24 février 2014 Statut Membre Dernière intervention 27 janvier 2020 3
28 janv. 2016 à 21:45
Peut être le fait que j'ai mis codeblocks en 64 bits grâce à ce tuto : https://www.security-helpzone.com/2014/09/27/programmation-programmer-en-64x-avec-codeblocks/
j'ai suivi ce sujet https://openclassrooms.com/forum/sujet/installer-gtk-sous-windows-1
mais actuellement la technique de marche pas.
Aurai tu une méthode pas à pas pour le faire ? Je ne m'y retrouve pas vraiment pour l'instant...
0
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié par [Dal] le 29/01/2016 à 10:59
La FAQ dont j'ai donné le lien est vraiment "pas à pas" (écrite par votre serviteur ;-), même si l'exemple fournit n'est pas GTK+. Elle permet de comprendre ce que tu fais et de disposer d'une méthode que tu peux suivre pour n'importe quelle bibliothèque binaire.

Si ton système d'exploitation est 64 bits et que MinGW (comprenant gcc) est 64 bits aussi, tu dois disposer d'une bibliothèque GTK+ compilée pour gcc en 64 bits aussi (ou la compiler toi même, mais sous Windows.. bon courage), et il est aussi parfois nécessaire que le binaire ait été compilé avec une version de gcc identique (ou pas trop différente).

En outre, comme indiqué dans mon message, je pense que tu as mal indiqué le nom de la bibliothèque au linker.

Sur le lien que tu postes, la personne n'a pas spécifié les emplacements des binaires des bibliothèques, mais seulement les options du linker (dans "Other linker options"). Du coup, si ces binaires ne se trouvent pas à un emplacement connu, ils se seront pas trouvés. Alors tu peux essayer ceci :

- retire tout le contenu de la partie droite "Other linker options"
- dans la partie gauche "Link libraries", clique sur "Add" et recherche les fichiers .a correspondants que tu veux linker aux emplacements où ils sont (notamment libgtk-3.a en 64 bits et les autres dont tu as besoin)

On dirait que tu n'as pas de problèmes de localisation des entêtes, en revanche (sinon, tu n'arriverais pas au stade de l'édition de liaison), donc cette partie de l'entrée de FAQ semble faite correctement.


Dal
0
DevilSky Messages postés 61 Date d'inscription lundi 24 février 2014 Statut Membre Dernière intervention 27 janvier 2020 3
31 janv. 2016 à 16:54
J'ai fait comme tu as dis , j'ai retiré tout le contenu de la partie droite puis je l'ai mis avec tout les fichiers .a (avec des .lib entre autre mais je ne pense pas que cela change quelques choses)
Maintenant , lors de la compilation , j'ai encore des erreurs de compilation ;

||=== Build: Debug in test10 (compiler: GTK) ===|
obj\Debug\main.o||In function `main':|
C:\Users\Maxime\Desktop\Codeblock\test\main.c|36|undefined reference to `GTK_OBJECT'|
C:\Users\Maxime\Desktop\Codeblock\test\main.c|36|undefined reference to `gtk_signal_connect'|
C:\Users\Maxime\Desktop\Codeblock\test\main.c|38|undefined reference to `GTK_OBJECT'|
C:\Users\Maxime\Desktop\Codeblock\test\main.c|38|undefined reference to `gtk_signal_connect'|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Est ce encore un problème avec la librairie ? Car il y a d'autre ligne avec "gtk" et il n'y a apparemment pas de problème à ce niveau là.
Mais jai l'impression d'avoir bientôt réglé le problème !
0
DevilSky Messages postés 61 Date d'inscription lundi 24 février 2014 Statut Membre Dernière intervention 27 janvier 2020 3
31 janv. 2016 à 22:36
Finalement , le dernier problème qui me reste est "Impossible de démarrer le programme car il manque libgtk-win32-2.0-0.dll sur votre ordinateur..."
Je ne sais pas d'où viens le problème par contre ...
0
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
1 févr. 2016 à 09:30
Salut DevilSky,

Copie libgtk-win32-2.0-0.dll dans le répertoire de ton exécutable (bin/Debug ou bin/Release selon ta cible de compilation).

Ce type de situation et la façon d'y remédier sont aussi mentionnés dans la FAQ précitée.


Dal
0
DevilSky Messages postés 61 Date d'inscription lundi 24 février 2014 Statut Membre Dernière intervention 27 janvier 2020 3
3 févr. 2016 à 16:40
Bon au final je me suis débrouillé grâce à une vidéo, donc pour les intéressés ,voici un lien : https://www.youtube.com/watch?v=xzNOgVQJPxU
0