1. #1
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    décembre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : décembre 2012
    Messages : 162
    Points : 72
    Points
    72

    Par défaut Problème compilation avec Code::Blocks - cairo

    Bonjour à tous,

    Je viens d'avoir un sérieux crash system, et j'ai du re-formater mon disque et réinstaller tout. Pfff.. Mais voilà, je n'arrive plus à compiler mes codes GTK+, plus précisément seulement ceux qui font appel à la library cairo. Ce sont des codes qui compilaient bien auparavant. J'utilise Code::Blocks, et je n'arrive pas à retrouver la manière de configurer le compilateur pour compiler correctement.

    J'ai bien rajouté la librairy cairo.lib (qui est dans le répertoire lib de la directory où est gtk) dans le linker, mais je continue à recevoir des messages de compilation du type :

    undefined reference to `gdk_cairo_create'
    error: ld returned 1 exit status

    J'ai beau chercher, je ne trouve aucune solution. Dans quelle library est - par exemple - gdk_cairo_create ?

    Je suis complétement bloqué..

    Toute aide pour résoudre ce problème serait plus que bienvenue..

    D'avance merci, Eric.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    septembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : septembre 2017
    Messages : 25
    Points : 34
    Points
    34

    Par défaut

    Bonjour,


    Peut-etre une piste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pkg-config --libs gtk+-3.0
    -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nm -D /usr/lib/x86_64-linux-gnu/libgdk-3.so | grep gdk_cairo_create
    000000000003ebc0 T gdk_cairo_create
    Cela me dis que gtk utilise gdk et que gdk_cairo_create() est présent dans la bibliothèque libgdk-3.so

  3. #3
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    décembre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : décembre 2012
    Messages : 162
    Points : 72
    Points
    72

    Par défaut

    Bonjour et merci pour votre réponse.

    Je n'ai pas de libgdk-3.so dans le répertoire lib de gtk. Je précise que je suis en GTK+2.

    Je viens de me remettre dans ce problème, est je tombe à présent sur un truc incompréhensible. J'ai certain de mes projets Code::Blocks, qui utilisent cairo, et qui eux compilent correctement, et d'autres qui ne compilent pas avec le message d'erreur dont je parle dans ce post. J'ai bien regardé et comparé les déclarations de fichiers header en début de codes, les options de compilation, et libraries déclarées entre ces deux cas, etc., et ce sont exactement les mêmes. C'est totalement énigmatique. Si quelqu'un a une idée.

    En attendant, je vais essayer de "reverser" mes codes qui ne compilent pas dans les projets Code::Blocks qui compilent..

    Bon, c'est pas magique. Il y a sûrement une explication. Mais là, je ne vois pas.

    Cordialement, Eric.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    septembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : septembre 2017
    Messages : 25
    Points : 34
    Points
    34

    Par défaut

    undefined reference to `gdk_cairo_create'
    error: ld returned 1 exit status
    Peux tu nous montrer la sortie de cette commande ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pkg-config --libs gtk+-2.0

  5. #5
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    décembre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : décembre 2012
    Messages : 162
    Points : 72
    Points
    72

    Par défaut

    Citation Envoyé par aeiou Voir le message
    Peux tu nous montrer la sortie de cette commande ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pkg-config --libs gtk+-2.0
    Ca donne ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Files (x86)/CodeBlocks/gtk/lib -LC:/Program -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl
    Eric.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    septembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : septembre 2017
    Messages : 25
    Points : 34
    Points
    34

    Par défaut

    Merci,


    Maintenant, peux tu nous donner le chemin complet où se trouve la bibliothèque gtk-win32-2.0 ?

    un find . -type f -name gtk-win32-2.0.dll devrais faire le job

  7. #7
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    décembre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : décembre 2012
    Messages : 162
    Points : 72
    Points
    72

    Par défaut

    Citation Envoyé par aeiou Voir le message
    Maintenant, peux tu nous donner le chemin complet où se trouve la bibliothèque gtk-win32-2.0 ?

    un find . -type f -name gtk-win32-2.0.dll devrais faire le job
    Hello,

    Je suis sur un PC (même si je connais bien linux).

    La library gtk-win32-2.0 est dans le répertoire lib de l'endoit où j'ai posé GTK, c'est à dire - sur ma machine - dans le répertoire :

    C:\Program Files (x86)\CodeBlocks\gtk\lib

    (je précise que je parle du fichier gtk-win32-2.0.lib, pas du fichier gtk-win32-2.0.dll, qui - lui - n'est apparement nulle part sur ma machine).

    Encore merci pour votre aide. J'aimerais bien tirer ça au clair..

    Eric.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    septembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : septembre 2017
    Messages : 25
    Points : 34
    Points
    34

    Par défaut

    Merci,

    Je l'impression qu'il y a un problème dans le gtk+-2.0.pc
    Le problème viens surment du fait que tu a installé gtk dans un chemin qui a des espace/caractère spéciaux. (De mémoire il est indiqué dans la doc Gtk qu'il faut installé Gtk dans un chemin "propre")

    Néanmoins, dans un premier temps, je te propose d’essayer sans réinstallé Gtk:
    Pourrais-tu éditer le fichier C:\Program Files (x86)\CodeBlocks\gtk\lib\pkgconfig\gtk+-2.0.pc de manière à obtenir un chemin entre quote:

    Remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Libs: -L${libdir} -lgtk-2
    Par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Libs: -L"C:\Program Files (x86)\CodeBlocks\gtk\lib" -lgtk-2
    Chez moi c'est gtk-2 mais pour toi ça devrais être gtk-win32-2.0


    De même pour le cflags:

    Remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cflags: -I${includedir}/gtk-2.0
    Par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cflags: -I"C:\Program Files (x86)\CodeBlocks\gtk\include\gtk-2.0"
    Je te laisse corriger par toi même le chemin d'inclusion (C:\Program Files (x86)\CodeBlocks\gtk\include\gtk-2.0)

    PS: Je vais a la poste... En attendant, si ca ne fonctionne pas, essai de faire un make V=1 pour voir comment ressort la configuration et montre nous la ligne de commande gcc ou ld qui plante

  9. #9
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    décembre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : décembre 2012
    Messages : 162
    Points : 72
    Points
    72

    Par défaut

    Merci encore.

    Je viens de faire les modifs en question. La situation est la même. Les codes qui compilent bien continuent à le faire. Ceux qui ne compilent pas, continuent également à le faire, avec le même message d'erreur.

    Effectivement, il y a peut-être un problème sur les noms de chemin avec des blancs/espaces. Mais alors, pourquoi certains codes compilent correctement ??

    C'est vraiment énigmatique !

    Pour pouvoir continuer à travailler, j'ai bien "reverser" les codes qui ne compilent pas (en tout cas ceux sur lesquels je travaille actuellement) dans les projets (Code::Blocks) de ceux qui compilent bien, et j'arrive ainsi à les compiler correctement (et peux donc continuer à bosser). Je dois sûrement ainsi récupérer un espace de développement avec les bons paramètres, mais je ne vois rien de mon côté..

    Je ne me vois pas trop faire une reinstall from scratch.. Mais bon.

    Cordialement, Eric.

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    septembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : septembre 2017
    Messages : 25
    Points : 34
    Points
    34

    Par défaut

    Il y a peut-être des antislash a ajouter ...


    essai de faire un make V=1 pour voir comment ressort la configuration et montre nous la ligne de commande gcc ou ld qui plante

  11. #11
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    décembre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : décembre 2012
    Messages : 162
    Points : 72
    Points
    72

    Par défaut

    Citation Envoyé par aeiou Voir le message
    Il y a peut-être des antislash a ajouter ...
    Encore une fois, je suis sur un PC. Il n'y a pas de make sur un PC. Je développe mes codes dans Code::Blocks et c'est cet outil qui construit le make et le lance à chaque compilation. Je ne sais pas où ce make est stocké, ni donc comment le lancer "à la main"..

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    septembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : septembre 2017
    Messages : 25
    Points : 34
    Points
    34

    Par défaut

    Je ne connais pas Code-Blocks mais c'est un IDE comme les autre je présume.

    J'imagine que tu configure un répertoire de compilation. Sinon c'est le la racine de ton projet( code source)

    Peux tu te placer depuis un terminal/ligne de commande/prompt dans le répertoire de compilation et vérifier qu'un Makefile existe (ls) et lancer la commande make V=1 et nous montrer la sortie standard s'il te plais

    PS: Quel chaine de compilation utilise tu ? autotools, cmake, qmake, jhbuild, ninja, ...

    Par précaution, sans vouloir te commander, supprime a chaque nouvelle manip ton build: c'est a dire les fichier qui on été créer lors de la configuration de ton projet. Je n'ai pas confiance au IDE, aussi supprime le répertoire de compilation a la main. Par exemple cmake utilise un cache et des fois les modification ne sont pas pris en compte.

  13. #13
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    décembre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : décembre 2012
    Messages : 162
    Points : 72
    Points
    72

    Par défaut

    Citation Envoyé par aeiou Voir le message
    Je ne connais pas Code-Blocks mais c'est un IDE comme les autre je présume.

    J'imagine que tu configure un répertoire de compilation. Sinon c'est le la racine de ton projet( code source)

    Peux tu te placer depuis un terminal/ligne de commande/prompt dans le répertoire de compilation et vérifier qu'un Makefile existe (ls) et lancer la commande make V=1 et nous montrer la sortie standard s'il te plais
    Aussi bizarre que ceci puisse paraitre, je suis également informaticien, et développe depuis des années mes codes sur unix/linux, et écrits mes Makefile moi-même, etc. Je comprends parfaitement cette discussion, évidement. Il n'y a pas de Makefile dans le répertoire de mes projets. En cherchant un peu, je viens de découvrir (ici: http://wiki.codeblocks.org/index.php..._and_Makefiles) que Code::Blocks ne génère pas de Mafefile, mais s'en sort "en interne" dans la gestion du projet.

    Je n'ai donc pas de moyen de savoir ce qui plante. Les messages d'erreur (dans ce que Code::Blocks appelle "Build log") sont copiés ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    mingw32-gcc.exe -mms-bitfields -Wall -g -Wall -I"C:\Program Files (x86)\CodeBlocks\gtk\include" -I"C:\Program Files (x86)\CodeBlocks\gtk\include\gtk-2.0" -I"C:\Program Files (x86)\CodeBlocks\gtk\include\cairo" -I"C:\Program Files (x86)\CodeBlocks\gtk\include\gdk" -I"C:\Program Files (x86)\CodeBlocks\gtk\include\glib-2.0" -I"C:\Program Files (x86)\CodeBlocks\gtk\lib\glib-2.0\include" -I"C:\Program Files (x86)\CodeBlocks\gtk\include\pango-1.0" -I"C:\Program Files (x86)\CodeBlocks\gtk\lib\gtk-2.0\include" -I"C:\Program Files (x86)\CodeBlocks\gtk\include\atk-1.0" -I"C:\Program Files (x86)\CodeBlocks\gtk\include\gdk-pixbuf-2.0" -c "D:\calcul C\essai gtk\essai gtk\trajecto\main.c" -o obj\Debug\main.o
    mingw32-g++.exe -L"C:\Program Files (x86)\CodeBlocks\gtk\lib" -o bin\Debug\trajecto.exe obj\Debug\main.o   -lgtk-win32-2.0 -lgobject-2.0 -lglib-2.0 "C:\Program Files (x86)\CodeBlocks\gtk\lib\cairo.lib" "C:\Program Files (x86)\CodeBlocks\gtk\lib\libpangocairo-1.0.dll.a"
    obj\Debug\main.o: In function `on_expose_event_trajet':
    D:/calcul C/essai gtk/essai gtk/trajecto/main.c:804: undefined reference to `gdk_cairo_create'
    D:/calcul C/essai gtk/essai gtk/trajecto/main.c:805: undefined reference to `gdk_cairo_create'
    D:/calcul C/essai gtk/essai gtk/trajecto/main.c:806: undefined reference to `gdk_cairo_create'
    D:/calcul C/essai gtk/essai gtk/trajecto/main.c:807: undefined reference to `gdk_cairo_create'
    D:/calcul C/essai gtk/essai gtk/trajecto/main.c:890: undefined reference to `gdk_cairo_create'
    obj\Debug\main.o:D:/calcul C/essai gtk/essai gtk/trajecto/main.c:939: more undefined references to `gdk_cairo_create' follow
    collect2.exe: error: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 1 second(s))
    7 error(s), 0 warning(s) (0 minute(s), 1 second(s))
    (pour un des codes qui plantent).

    J'espère que cette information sera utile..

    Merci encore pour votre aide, Eric.

    Citation Envoyé par aeiou Voir le message
    Par précaution, sans vouloir te commander, supprime a chaque nouvelle manip ton build: c'est a dire les fichier qui on été créer lors de la configuration de ton projet. Je n'ai pas confiance au IDE, aussi supprime le répertoire de compilation a la main. Par exemple cmake utilise un cache et des fois les modification ne sont pas pris en compte.
    Je ne pense pas que ce soit une solution. Voir ma réponse précédente. Code::Blocks est utilisé abondement dans le monde entier. C'est stable. Je doute que le problème soit là.

    Eric.

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    septembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : septembre 2017
    Messages : 25
    Points : 34
    Points
    34

    Par défaut Ma dernière carte, après je donne ma langue au chat.

    Mais avant, ne manquerait-il pas un "-l" devant le chemin des bibliothèque ?

    Sinon,
    Peux-tu configurer Code-Block pour obtenir une ligne de commande dans cette ordre: mingw32-g++.exe liste_files.o -o ouput.exe -L/list_dir -llist_lib
    soit dans ton cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mingw32-g++.exe  obj\Debug\main.o -o bin\Debug\trajecto.exe -L"C:\Program Files (x86)\CodeBlocks\gtk\lib" -lgtk-win32-2.0 -lgobject-2.0 -lglib-2.0 -l"C:\Program Files (x86)\CodeBlocks\gtk\lib\cairo.lib" -l"C:\Program Files (x86)\CodeBlocks\gtk\lib\libpangocairo-1.0.dll.a"

  15. #15
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    décembre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : décembre 2012
    Messages : 162
    Points : 72
    Points
    72

    Par défaut

    Je ne vois pas de "-l" qui manque.

    Par ailleurs, je ne sais comment changer l'ordre des arguments dans la ligne de compilation.

    Ce que je viens de faire, en revanche, est de comparer la "build log" des cas qui compilent correctement de ceux qui ne compilent pas correctement. J'ai trouver des différences. En fait, dans les cas qui fonctionnent, il y a - en plus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files (x86)\CodeBlocks\gtk\lib\pango-1.0.lib" "C:\Program Files (x86)\CodeBlocks\gtk\lib\gdk-win32-2.0.lib"
    après " -lglib-2.0".

    C'est clairement un problème, et ne sais pas pourquoi ces libraries sont manquantes. J'ai donc rajouter "à la main" ces deux library dans les options du linker pour le compilateur. Elles apparaissent bien à présent, mais ... ça ne compile toujours pas, avec les mêmes messages d'erreur..

    Eric.

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    septembre 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : septembre 2017
    Messages : 25
    Points : 34
    Points
    34

    Par défaut

    Un thread interressant gcc using includes that have spaces in name
    On peu y lire :
    gcc ........-I c:/Program Files/LibUSB_Win32-0.1.10.1/include
    I've tried single quotes - doesn't work, I've tried double quotes, still doesn't work.
    Pour éviter une réinstallation (car le simple copier/collé et ajusté a la main le gtk+-2.0.pc ne fonctionnerai pas) je t’aurai bien propose de faire un lien symbolique (C:\program vers C:\Program Files (x86)), mais sous windows je ne suis pas certain que ca marche.

    De mon coté, je réinstallerai gtk, mais si tu dis que d'autre projet Gtk compile alors je ne te suis plus d'aucune utilité.

    [humour]Essai Ctrl+z[/humour]
    Images attachées Images attachées  

  17. #17
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    décembre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : décembre 2012
    Messages : 162
    Points : 72
    Points
    72

    Par défaut

    Ok, merci quand même pour votre temps.

    Tout ceci reste une énigme, donc.

    Si d'autres lecteurs ont une idée..

    Sinon, je poserai probablement un post sur stack overflow en janvier.

    Eric.

  18. #18
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    décembre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : décembre 2012
    Messages : 162
    Points : 72
    Points
    72

    Par défaut

    Rapidement, vous n'êtes pas mon professeur, je ne suis pas votre élève. Vous n'êtes pas mon père, je ne suis pas votre fils. Rien ne vous autorise à vous exprimer sur ce ton, et de manière si agressive. De toute évidence, je suis bien plus vieux que vous. J'ai très certainement pondu plus de plusieurs milliers de lignes de code que vous, ai largement plus publié mes résultats (y compris sous forme d'une bonne dizaine d'ouvrages de synthèse) que vous, et ai certainement dispensé largement plus d'heures d'enseignement que vous en université, y compris à l'étranger, et y compris dans le domaine de l'informatique.

    Citation Envoyé par aeiou Voir le message
    Or mis le fait que tu ne nous a pas donné une seule putain de ligne de code sans qu'on est a te la quémander, que tu n'as pas vérifier le minimum syndical nm, ls, -l et l'essentiel :.
    Je ne suis pas sûr de bien comprendre cette réaction. Vous voulez dire "hormis" ? A quel moment m'avez vous demandez (dois-je vraiment utiliser le verbe quémander ?) de donner des lignes de code ? Je ne vois rien de tel dans nos échanges. Je l'aurais fait volontiers, comme je l'ai fait de nombreuses fois sur ce forum (et d'autres), y compris quand c'est moi qui donne des solutions aux autres.

    Vous m'expliquez qu'il faut utiliser ls, find, etc. C'est un peu comme si je vous expliquais comment utiliser google. Ca ne fait guère avancer le problème.

    Citation Envoyé par aeiou Voir le message
    Tu viens demander de l'aide, je te dis de vérifier tel et tel chose puis d'essayer ceci et cela et a la place tu essai tes intuition(chose que tu peu faire de ton coté sans "notre" aide) Au lieu de faire une recherche google sur comment configurer BlockCode, toi non, tu n'en fait rien et tu nous dis puisque vous ne pouvez pas me donner la solution directement, je vais voir ailler...
    Réponse inadaptée. J'ai essayé les propositions que vous m'avez soufflées. j'ai été chercher sur le web comment configurer Code::Blocks et ai même donné des liens ici. Mes "intuitions" (qui n'en sont pas) se sont avérées instructives et utiles.

    Citation Envoyé par aeiou Voir le message
    Alors Oui ! va posté sur stackof, je suis curieux de voir comment tu va posé ta question et qu'elle élément tu va leur donner a eux ... Mister l'informaticien "ca marche pas" J'avais passé une année de merde ; mais toi t'es la cerise !
    Je veux bien croire que votre année n'était pas à la hauteur de vos espérances, mais je n'y suis pour rien. Trouvez un autre bouc émissaire que moi.

    Je passe de nombreuses heures sur les forums à aider les gens qui posent des questions (notamment dans mon domaine). Je sais, accepte et contribue à cette dimension de bénévolat pour ce faire. Je ne crois pas que cette action doit se mener sur le ton de l'agression que vous employez. Si cette action ne vous convient pas, alors simplement abstenez-vous. Je suis pour ma part resté constamment courtois et poli. Je vous invite à en faire de même.

    Citation Envoyé par aeiou Voir le message
    Sinon pour ceux qui aurai le même problème que notre cher Eric (par ce qu'il nous coûte cher).
    Coûte cher ?? Encore une fois, il s'agit de bénévolat, et j'en fais également beaucoup. Vous comptez vraiment le coût que ceci représente pour vous ?

    Pour revenir au sujet de cette discussion. Je ne pense pas que la présence d'espaces dans les chemins soit la cause du problème que je rencontre. Sans quoi aucun code ne compileraient, ce qui n'est pas le cas. En revanche, il est effectivement possible que l'ordre des arguments (dois-je vous expliquer ce mot ?) dans la ligne de commande de compilation soit en cause, et - non - je ne trouve rien concernant la manière de demander à Code::Blocks de régler ce point. Si c'est vraiment le problème ici, alors il ne concerne plus l'usage de GTK proprement dit, et c'est bien sur la configuration de Code::Blocks que ma question portera sur d'autres forums, puisque vous me posez la question.

    Pour finir, oui, évidement, je rapporterai ici la solution, si j'en trouve une, comme je le fais à chaque fois, pour l'intérêt de la communauté de ce forum.

    Cordialement, Eric.

  19. #19
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2009
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2009
    Messages : 1 299
    Points : 1 951
    Points
    1 951

    Par défaut

    Messieurs, merci de garder votre calme.

    aeiou, devenir grossier n'aidera pas à résoudre le problème et personne ne t'oblige à lui répondre si tu trouves qu'il ne fait pas assez d'effort.

    eric1708, j'ai répondu à ta question sur stackoverflow mais je ne suis pas sûr que ça t'aide vu que tu avais vu qu'il te manquait déjà des bibliothèques. Je n'ai jamais utilisé Code::Block, mais dans tout EDI il y a un champ où configurer les paramètres à passer au linker. Compare ce champ entre tes 2 projets, celui qui fonctionne et celui qui ne fonctionne pas.

    Ensuite, quelques remarques (interprétation tout à fait personnelle) pour mieux saisir l'incompréhension de aeiou:

    Code::Blocks utilise mingw, c'est à dire Minimal GNU for Windows. Que tu le veuilles ou non, tu as une palanquée d'outils GNU sur ta machine. C'est du GNU/Windows et pas du GNU/Linux, mais ça reste du GNU, et ça marche sensiblement pareil. Cela veut dire qu'avec un PATH correct et en ouvrant un shell windows cmd.exe ou msys, tu as normalement moyen de faire des tests dans le même environnement que Code::Blocks. Donc pas sûr que tu aies find ou nm comme outils, mais tu peux déjà lancer une recherche sur les .exe qu'il y a fournis avec Code::Blocks et tu devrais voir pas mal de choses. pkg-config en fera normalement partie, et c'est en priorité lui que tu dois utiliser pour tirer tes dépendances si tu utilises GTK+ (et bien d'autres outils font de même) et pas ajouter tes bibliothèques et leur chemin manuellement.

    De plus, vu que tu utilises un outil graphique, poste tes logs quand tu fais des changements. Cela permet d'être sûr de la maniputation que tu as tenté. Un screenshot de l'écran de paramétrage des options de link, ça peut aussi aider les gens à t'aider. Autrement c'est plus un forum d'aide Code::Blocks qu'il te faut, car l'erreur est claire: tu ne te lies pas à la bibliothèque gdk (entre autres).

    PS: je pinaille un peu mais évite de dire "je suis sur PC" quand ce que tu veux dire c'est que tu es sous Windows. Je suis sous Linux sur un PC, il y a des gens qui utilisent Linux ou d'autres OS sur Mac... La plateforme matérielle et le système d'exploitation sont deux choses différentes. Sous-entendre que PC = Windows, c'est toujours un peu pénible à entendre quand on s'est battu contre la vente liée .

    PPS: dans tes logs j'ai vu que tu utilises mingw-gcc pour compiler et mingw-g++ pour l'édition de lien, et je comprends pas trop pourquoi... Si tu fais du C → gcc, si tu fais du C++ → g++, si tu fais les deux → g++.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  20. #20
    Membre régulier
    Homme Profil pro
    chercheur
    Inscrit en
    décembre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : décembre 2012
    Messages : 162
    Points : 72
    Points
    72

    Par défaut

    Citation Envoyé par liberforce Voir le message
    Messieurs, merci de garder votre calme.
    Merci liberforce pour ce rôle - efficace et pondéré - de modérateur. Vraiment bienvenu. Ceci dit, j'ai toujours été calme ici.
    Citation Envoyé par liberforce Voir le message
    eric1708, j'ai répondu à ta question sur stackoverflow mais je ne suis pas sûr que ça t'aide vu que tu avais vu qu'il te manquait déjà des bibliothèques.
    Merci. Je viens de répondre sur stack overflow. Il manquait bien ces deux librairies dont je parlais ici effectivement. Les rajouter à présent résout le problème et tout recompile correctement. Bizarre, j'avais déjà essayé ceci auparavant, comme je l'ai dit ici, et ça n'avait pas fonctionné. Et puis, il est bizarre également que ces librairies soient par défaut présentes dans certains projets GTK (sur Code::Blocks) et pas sur d'autres. Bref, problème résolu (finalement) à présent. Je passe ce post en "résolu". Merci encore pour votre temps, à tous les deux, sur ce problème.
    Citation Envoyé par liberforce Voir le message
    Code::Blocks utilise mingw, c'est à dire Minimal GNU for Windows. Que tu le veuilles ou non, tu as une palanquée d'outils GNU sur ta machine. C'est du GNU/Windows et pas du GNU/Linux, mais ça reste du GNU, et ça marche sensiblement pareil. Cela veut dire qu'avec un PATH correct et en ouvrant un shell windows cmd.exe ou msys, tu as normalement moyen de faire des tests dans le même environnement que Code::Blocks. Donc pas sûr que tu aies find ou nm comme outils, mais tu peux déjà lancer une recherche sur les .exe qu'il y a fournis avec Code::Blocks et tu devrais voir pas mal de choses. pkg-config en fera normalement partie, et c'est en priorité lui que tu dois utiliser pour tirer tes dépendances si tu utilises GTK+ (et bien d'autres outils font de même) et pas ajouter tes bibliothèques et leur chemin manuellement.
    Juste pour info. Je ne connais pas trop Windows, je code généralement sur unix/linux. Je dois coder actuellement sur Windows pour des utilisateurs qui n'ont que ce genre d'OS sous la main. Egalement pour info, Windows a également un find, mais dont la syntaxe diffère sensiblement de celle du monde unix/linux.
    Citation Envoyé par liberforce Voir le message
    PS: je pinaille un peu mais évite de dire "je suis sur PC" quand ce que tu veux dire c'est que tu es sous Windows. Je suis sous Linux sur un PC, il y a des gens qui utilisent Linux ou d'autres OS sur Mac... La plateforme matérielle et le système d'exploitation sont deux choses différentes. Sous-entendre que PC = Windows, c'est toujours un peu pénible à entendre quand on s'est battu contre la vente liée .
    Excellente remarque tout à fait pertinente. Je voulais dire effectivement sous Windows. C'était un racourci de ma part malvenu, effectivement ! Désolé pour ce manque de clarté.
    Citation Envoyé par liberforce Voir le message
    PPS: dans tes logs j'ai vu que tu utilises mingw-gcc pour compiler et mingw-g++ pour l'édition de lien, et je comprends pas trop pourquoi... Si tu fais du C → gcc, si tu fais du C++ → g++, si tu fais les deux → g++.
    Je pense que c'est Code::Blocks qui, par défaut, fait ce genre de paramétrage. J'ai déjà vu sur le web ce genre de remarques. Dès lors que ça tourne, je n'ai pas creusé ce point.

    Encore merci à vous deux, et cordialement. Comme indiqué ci-dessus, je passe ce topic en résolu.

    Eric.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [SDL 1.2] problème de compilation avec Code:Block
    Par RiNoXuS dans le forum SDL
    Réponses: 3
    Dernier message: 08/05/2015, 17h02
  2. [OCILIB] Problème de compilation avec code::blocks
    Par dbqg7322 dans le forum Interfaces de programmation
    Réponses: 2
    Dernier message: 11/01/2013, 14h21
  3. Problème de compilation avec Code Block
    Par med19972004 dans le forum Code::Blocks
    Réponses: 2
    Dernier message: 16/09/2011, 17h32
  4. Problème de compilation avec Code::Blocks
    Par xvid110 dans le forum OpenCV
    Réponses: 12
    Dernier message: 14/06/2011, 00h12
  5. Problème de compilation avec Code Block
    Par med19972004 dans le forum C++
    Réponses: 5
    Dernier message: 05/02/2011, 00h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo