Partage
  • Partager sur Facebook
  • Partager sur Twitter

Installation de gtk+ sous code blocks ou autre

Voici les étapes de l'installation de gtk+-3.x

21 mars 2014 à 19:09:12

Suite à la demande de mehrad, voici un petit billet qui indique comment installer gtk+. Code blocks a été pris en exemple mais si vous voulez plus faites moi signe ou si vous voulez un tutoriel complet et plein de TP incroyable sur gtk+ utilisable en langage c postez ici.

Alors voilà comment procéder :

Tout d'abord il faut se rendre sur cette page : http://www.gtk.org/download/

-il faut ensuite suivre le lien suivant son système d'exploitation. Je suppose que tu es sous Windows ; alors il faut cliquer sur Windows 32 bits ou 64 bits selon ton système (si tu ignores quel est le type de ton système Windows clique sur l’icône de Windows et clique droit sur "ordinateur" ou "poste  de travail" selon ta version et puis choisi "propriété" dans le  menu qui s'ouvre. Là tu verras le type de ton système)

-il faut ensuite aller vers le bas juste après gtk+ 3.x et choisir le liens "all-in-one bundle" comme sur la capture suivante.

[edit] Voici un lien alternatif pour directement télécharger le "all-in-one-bundle" selon votre système Windows

gtk all-in-one-bundle

après téléchargement, il faut décompresser le fichier dans un dossier. ensuite il faut ouvrir codeblocks puis créer un nouveau projet avec codeblocks et dans la liste des projets, venir sur gtk et cliquer droit sur lui et choisir "edit this script"

comme sur la figure suivante :

edit codeblocks script

Alors une page s'affiche, il faut copier son contenu et le sauvegarder dans un fichier texte (en fait c'est une double sécurité car codeblocks prévoit dans son menu, l'option "discard modifications on this script" qui permet de revenir au script d'origine). Il faut ensuite effacer le contenu du script et le remplacer par celui-ci que j'ai créé de toutes pièce car le script de codeblocks ne permet pas de gérer la version 3 de gtk+ mais juste la version 2 c'est d'ailleurs pour cela qu'on a fait tout ce détour pour l'installation. Alors voici le contenu du nouveau script :

////////////////////////////////////////////////////////////////////////////////
//
// GTK project wizard
//
////////////////////////////////////////////////////////////////////////////////

// globals
GtkPathDefault    <- _T("$(#gtk)");
GtkPathDefaultInc <- _T("$(#gtk.include)");
GtkPathDefaultLib <- _T("$(#gtk.lib)");
GtkPath <- _T("");
// GtkVersion <- 1; // 0 - GTK+, 1 - GTK+-2.0

function BeginWizard()
{
    local intro_msg = _T("Welcome to the new GTK project wizard!\n" +
                         "This wizard will guide you to create a new GTK project\n" +
                         "using the GTK cross-platform GUI toolkit\n\n" +
                         "When you're ready to proceed, please click \"Next\"...");

    local gtkpath_msg = _T("Please select the location of GTK on your computer.\n" +
                           "This is the top-level folder where GTK was installed.\n" +
                           "To help you, this folder must contain the subfolders\n" +
                           "\"include\" and \"lib\".");

    Wizard.AddInfoPage(_T("GtkIntro"), intro_msg);
    Wizard.AddProjectPathPage();
    if (PLATFORM == PLATFORM_MSW)
    {
        Wizard.AddGenericSelectPathPage(_T("GtkPath"), gtkpath_msg, _T("GTK's location:"), GtkPathDefault);
    }
    /*else
    {
        Wizard.AddGenericSingleChoiceListPage(_T("GtkVersionPage"), _T("Please select the GTK+ version you want to use."), _T("GTK+ 1.x;GTK+ 2.x"), GtkVersion); // select GTK+ version
    }*/
    Wizard.AddCompilerPage(_T(""), _T("gcc*"), true, true);
}

////////////////////////////////////////////////////////////////////////////////
// Gtk's path page
////////////////////////////////////////////////////////////////////////////////

function OnLeave_GtkPath(fwd)
{
    if (fwd)
    {
        local dir         = Wizard.GetTextControlValue(_T("txtFolder")); // txtFolder is the text control in GenericSelectPathPage
        local dir_nomacro = VerifyDirectory(dir);

        if (dir_nomacro.IsEmpty())
            return false;

        // verify include dependencies
        local dir_nomacro_inc = GetCompilerIncludeDir(dir, GtkPathDefault, GtkPathDefaultInc);
        if (dir_nomacro_inc.IsEmpty())
            return false;
        if (!VerifyFile(dir_nomacro_inc + wxFILE_SEP_PATH + _T("gtk-3.0") + wxFILE_SEP_PATH +_T("gtk"), _T("gtk.h"), _T("GTK's include")))
            return false;

        // verify library dependencies
        local dir_nomacro_lib = GetCompilerLibDir(dir, GtkPathDefault, GtkPathDefaultLib);
        if (dir_nomacro_lib.IsEmpty())
            return false;
       /* if (!VerifyLibFile(dir_nomacro_lib, _T("gtk-win32-2.0"), _T("GTK's")))
            return false;*/
             if (!VerifyLibFile(dir_nomacro_lib, _T("gtk-win32-3.0"), _T("GTK's")))
            return false;


        GtkPath = dir; // Remember the original selection.

        local is_macro = _T("");

        // try to resolve the include directory as macro
        is_macro = GetCompilerIncludeMacro(dir, GtkPathDefault, GtkPathDefaultInc);
        if (is_macro.IsEmpty())
        {
            // not possible -> use the real inc path we had computed instead
            GtkPathDefaultInc = dir_nomacro_inc;
        }

        // try to resolve the library directory as macro
        is_macro = GetCompilerLibMacro(dir, GtkPathDefault, GtkPathDefaultLib);
        if (is_macro.IsEmpty())
        {
            // not possible -> use the real lib path we had computed instead
            GtkPathDefaultLib = dir_nomacro_lib;
        }
    }
    return true;
}

////////////////////////////////////////////////////////////////////////////////
// Gtk's version page (For *nix users)
////////////////////////////////////////////////////////////////////////////////

function OnLeave_GtkVersionPage(fwd)
{
    if (fwd)
    {
        GtkVersion = Wizard.GetListboxSelection(_T("GenericChoiceList"));
    }
    return true;
}

// return the files this project contains
function GetFilesDir()
{
    return _T("gtk/files");
}

// setup the already created project
function SetupProject(project)
{
    if (PLATFORM == PLATFORM_MSW)
    {
        project.AddIncludeDir(GtkPathDefaultInc);
        project.AddIncludeDir(GtkPathDefaultInc + wxFILE_SEP_PATH + _T("gtk-3.0"));
        project.AddIncludeDir(GtkPathDefaultInc + wxFILE_SEP_PATH + _T("cairo"));
        project.AddIncludeDir(GtkPathDefaultInc + wxFILE_SEP_PATH + _T("gdk"));
        project.AddIncludeDir(GtkPathDefaultInc + wxFILE_SEP_PATH + _T("glib-2.0"));
        // Notice GtkPathDefault*Lib* at some positions. This is correct as of 2.8.20
        project.AddIncludeDir(GtkPathDefaultLib + wxFILE_SEP_PATH + _T("glib-2.0") + wxFILE_SEP_PATH + _T("include"));
        project.AddIncludeDir(GtkPathDefaultInc + wxFILE_SEP_PATH + _T("pango-1.0"));
        project.AddIncludeDir(GtkPathDefaultLib + wxFILE_SEP_PATH + _T("gtk-3.0")  + wxFILE_SEP_PATH + _T("include"));
        project.AddIncludeDir(GtkPathDefaultInc + wxFILE_SEP_PATH + _T("atk-1.0"));
        if ( IO.DirectoryExists(GtkPathDefaultInc + wxFILE_SEP_PATH + _T("gdk-pixbuf-2.0")) )
            project.AddIncludeDir(GtkPathDefaultInc + wxFILE_SEP_PATH + _T("gdk-pixbuf-2.0"));

        project.AddLibDir(GtkPathDefaultLib);

        // add link libraries
       /* project.AddLinkLib(_T("gtk-win32-2.0"));
      generate with pkg-config commande  on MS Windows. the command was pkg-config gtk+-3.0 --libs and current directory was
       gtk3.0/bin
       -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lpangocairo-1.0
        -lpangoft2-1.0 -lfreetype -lfontconfig -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lm -latk-1.0 -lcairo-gobject -lcairo
        -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl

        project.AddLinkLib(_T("gtk-3"));
        project.AddLinkLib(_T("gdk-3"));
        project.AddLinkLib(_T("imm32"));
        project.AddLinkLib(_T("shell32"));
        project.AddLinkLib(_T("ole32"));
        project.AddLinkLib(_T("Wl"));
        project.AddLinkLib(_T("uuid"));
        project.AddLinkLib(_T("pangocairo-1.0"));
        project.AddLinkLib(_T("pangoft2-1.0"));
        project.AddLinkLib(_T("freetype"));
        project.AddLinkLib(_T("fontconfig"));
        project.AddLinkLib(_T("pangowin32-1.0"));
        project.AddLinkLib(_T("gdi32"));
        project.AddLinkLib(_T("m"));
        project.AddLinkLib(_T("atk-1.0"));
        project.AddLinkLib(_T("cairo-gobject"));
        project.AddLinkLib(_T("cairo"));
        project.AddLinkLib(_T("gdk_pixbuf-2.0"));
        project.AddLinkLib(_T("gio-2.0"));
        project.AddLinkLib(_T("gobject-2.0"));
        project.AddLinkLib(_T("glib-2.0"));
        project.AddLinkLib(_T("intl"));
        //project.AddLinkLib(_T("glib-2.0"));*/

        project.AddLibDir(GtkPathDefaultLib);

        // add link libraries
        project.AddLinkLib(_T("gtk-win32-3.0"));
        project.AddLinkLib(_T("gobject-2.0"));
        project.AddLinkLib(_T("glib-2.0"));

        // Notice: there are more libs required as the app gets more complex, e.g.:
        // pangocairo-1.0.lib, pangocairo-1.0.lib, libatk-1.0.dll.a,
        // gdk_pixbuf-2.0.lib, gdk-win32-2.0.lib,  pango-1.0.lib,
        // gmodule-2.0.lib,    gthread-2.0.lib,    cairo.lib,
        // pangoft2-1.0.lib    (...)

        project.AddCompilerOption(_T("-mms-bitfields"));
    }
    else
    {
        /*if (GtkVersion == 1)
        {*/
        project.AddCompilerOption(_T("`pkg-config gtk+-3.0 --cflags`"));
        project.AddLinkerOption(_T("`pkg-config gtk+-3.0 --libs`"));
        /*}
        else
        {
            project.AddCompilerOption(_T("`pkg-config gtk+ --cflags`"));
            project.AddLinkerOption(_T("`pkg-config gtk+ --libs`"));
        }*/
   }

    // enable compiler warnings (project-wide)
    WarningsOn(project, Wizard.GetCompilerID());

    // Debug
    local target = project.GetBuildTarget(Wizard.GetDebugName());
    if (!IsNull(target))
    {
        target.SetTargetType(ttConsoleOnly); // ttConsoleOnly: console for debugging
        target.SetOutputFilename(Wizard.GetDebugOutputDir() + Wizard.GetProjectName() + DOT_EXT_EXECUTABLE);
        // enable generation of debugging symbols for target
        DebugSymbolsOn(target, Wizard.GetCompilerID());
    }

    // Release
    target = project.GetBuildTarget(Wizard.GetReleaseName());
    if (!IsNull(target))
    {
        target.SetTargetType(ttExecutable); // ttExecutable: no console
        target.SetOutputFilename(Wizard.GetReleaseOutputDir() + Wizard.GetProjectName() + DOT_EXT_EXECUTABLE);
        // enable optimizations for target
        OptimizationsOn(target, Wizard.GetCompilerID());
    }

    return true;
}

Il faut ensuite l'enregistrer. Il faut alors réessayer de créer un nouveau projet gtk+ mais cette fois une fois que l'assistant de création de projet se présente, il faut juste choisir gtk+ en double-cliquant dessus. Si tout se passe bien l'assistant vous demande le nom de votre projet alors fournissez toutes les infos et enfin cliquez suivant et là une nouvelle boite s'ouvre cliquez encore suivant et une autre boite s'ouvre vous indiquant qu'il ne sait pas où se trouve gtk sur votre ordinateur.

Alors vous allez dans le champ base et renseignez le dossier où vous aviez décompresser  le contenu de votre zip "all-in-one-bundle" précédemment téléchargé.

ensuite vous faites la même chose pour les champs en indiquant  le dossier includes qui se trouve dans votre dossier décompressé pour le champ include

et  vous faites la même chose pour le champ lib en indiquant le chemin qui mène également à votre dossier lib lui aussi situé dans votre dossier décompressé. et voilà un projet s'ouvre avec un fichier main.c qui contient du code compilez le et voyez le résultat.

ps : ce code est un peu vieillot il y aura donc des warnings. si vous voulez un code plus simple voici 

#include<gtk/gtk.h>

int main(int argc , char* argv[])
{
GtkWidget *window;
gtk_init(&argc,&argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_widget_show(window);
gtk_main();
return 0;

}

Voilà j'espère avoir été claire ; si vous avez des questions n’hésitez pas et si vous voulez un tuto complet sur gtk+ avec le langage c alors je vais m'y lancer.


-
Edité par cotoporto 1 octobre 2018 à 17:52:04

  • Partager sur Facebook
  • Partager sur Twitter
tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
21 mars 2014 à 21:28:37

Merci encore pour ce tutoriel, en effet il serait assez intéressant qu'un cours soit (re)créé à ce sujet car le gtk+ est une bibliothèque assez simple d'utilisation mais tout de même efficace, et il serait dommage de ne pas faire un cours sur le site.

Cordialement,

  • Partager sur Facebook
  • Partager sur Twitter
22 mars 2014 à 13:42:59

Rebonjour,

En suivant votre procédure, je rencontre un problème : après avoir recopié et enregistré votre code dans le fichier wizard.script et après l'avoir enregistré, je crée un nouveau projet, mais lorsque je double-clique sur gtk+, une erreur s'affiche et m'indique "expression expected" à la ligne 6 colonne 2 du code. 

P-S : je suis sous windows 7 64 bits.

P-S 2 : lorsque je modifie le fichier wizard. script, un message s'affiche et me dit que ce fichier n'existe pas à cet emplacement, et il me demande si je veux laisser la fenêtre affichée (j'ai répondu oui).

Merci.

  • Partager sur Facebook
  • Partager sur Twitter
22 mars 2014 à 14:29:08

Bon je viens de mettre à jour le code du script essaie encore
  • Partager sur Facebook
  • Partager sur Twitter
tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
22 mars 2014 à 15:00:49

Je retrouve la même erreur : 

http://imageshack.com/a/img41/5518/ph0h.png

  • Partager sur Facebook
  • Partager sur Twitter
24 mars 2014 à 9:12:14

Comment puis-je faire, du coup ?
  • Partager sur Facebook
  • Partager sur Twitter
24 mars 2014 à 11:15:04

dis moi tu as quelle version de codeblocks ?

  • Partager sur Facebook
  • Partager sur Twitter
tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
Anonyme
24 mars 2014 à 13:18:34

Pareil que mehrad, et j'ai la version 13.12
  • Partager sur Facebook
  • Partager sur Twitter
26 mars 2014 à 20:40:59

J'ai également la dernière version (13.12)
  • Partager sur Facebook
  • Partager sur Twitter
26 mars 2014 à 23:34:46

moi j'ai la version 12 donc je vais télécharger la 13 et faire les tests et je vous informerai
  • Partager sur Facebook
  • Partager sur Twitter
tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
31 mars 2014 à 10:13:22

Salut par ici alors... J'ai finalement fait les tests et ils s'avèrent tous concluant ! Je ne vois donc pas directement ce qui ne marche pas chez vous. Alors voici comment on va procéder : vous m'envoyer les scripts originaux de votre lanceur de projet gtk avant vote modification ; et je vais voir comment l'adapter sinon peut être aussi que c'est spécifique à la version 64 bits car moi j'ai un 32 bits...
  • Partager sur Facebook
  • Partager sur Twitter
tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
22 avril 2014 à 22:25:38

Bonjour et merci pour cette info !

Effectivement ça marche nettement mieux avec ce script !

Ceci dit j'avais néanmoins une erreur de compilation genre "je ne trouve pas 'C:\gtk\include\gdk' et 'C:\gtk\lib\gtk-3.0\include' "

qui sont effectivement des classeurs inexistants.

Pour résoudre (??) ce problème je suis allé dans "Project -> build options -> Compiler -> Search directory" et j'ai enlevé ces deux répertoires en question (Attention il faut ni être en "Debug" ni en "Release" à gauche en haut de cette fenêtre mais directement sur la globalité du projet, en cliquant sur son nom). J'arrive maintenant à compiler et à lancer le programme minimaliste.

  • Partager sur Facebook
  • Partager sur Twitter
1 mai 2014 à 1:24:19

J'ai suivi a la lettre le tuto mais ça marche pas ;(

Voila les petites erreur que ça me donne : http://imageshack.com/a/img835/9061/pj5k.png

Pour info je suis sur la version 13.12 de code blocks et sous windows 8.1 en 64bit.

Une idée de pourquoi ça marche pas ?

  • Partager sur Facebook
  • Partager sur Twitter
7 mai 2014 à 18:29:50

Fonctionne très bien sur mon PC. Super le tuto :)

Je suis sous windows7 64bits mais j'ai installé la version 32bits de GKT+ car mon compilateur est en 32 bits. Je pense que la version 64bits de MinGW n'est pas installé avec CodeBlocks. 

www.caron.ws

-
Edité par christophe9400 7 mai 2014 à 19:28:37

  • Partager sur Facebook
  • Partager sur Twitter
8 mai 2014 à 18:57:06

Effectivement c'était probablement pour ça j'ai donc pris la version 32bits et ça compil bien mais ça plance a l'éxécution :/

http://imageshack.com/a/img835/2859/ob90.png 

  • Partager sur Facebook
  • Partager sur Twitter
18 septembre 2014 à 7:23:11

Salut, j'ai suivi ton tuto, et ca marche , mais  quand j'ai creer des programmes utilisant gdk, cairo,  etc ,le compilateur m'a dit que

 Code Blocks version : 13.12

||=== Build: Debug in barreOutils (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `fullscreen_callback':|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|29|undefined reference to `gdk_window_get_state'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|35|undefined reference to `gdk_window_unfullscreen'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|42|undefined reference to `gdk_window_fullscreen'|
obj\Debug\main.o||In function `activate':|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|142|undefined reference to `g_simple_action_new'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|145|undefined reference to `g_action_get_type'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|145|undefined reference to `g_action_map_get_type'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|145|undefined reference to `g_action_map_add_action'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|147|undefined reference to `g_simple_action_new'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|150|undefined reference to `g_action_get_type'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|150|undefined reference to `g_action_map_get_type'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|150|undefined reference to `g_action_map_add_action'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|152|undefined reference to `g_simple_action_new'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|155|undefined reference to `g_action_get_type'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|155|undefined reference to `g_action_map_get_type'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|155|undefined reference to `g_action_map_add_action'|
obj\Debug\main.o||In function `startup':|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|194|undefined reference to `g_simple_action_new'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|196|undefined reference to `g_action_get_type'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|196|undefined reference to `g_action_map_get_type'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|196|undefined reference to `g_action_map_add_action'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|198|undefined reference to `g_simple_action_new'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|200|undefined reference to `g_action_get_type'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|200|undefined reference to `g_action_map_get_type'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|200|undefined reference to `g_action_map_add_action'|
obj\Debug\main.o||In function `main':|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|215|undefined reference to `g_application_get_type'|
C:\Users\Jean Claude\Desktop\Mon Project\barreOutils\main.c|215|undefined reference to `g_application_run'|
||=== Build failed: 25 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2014 à 22:30:35

Salut en fait je crains que ton problème n'ai rien avoir avec mon script. Il me semble que tu as juste oublié de "linker" avec les librairies appropriées. Donc tu ouvres ton projet, tu vas dans "build options" dans le menu "project" et choisi l'onglet lib et renseigne les fichiers *.lib. 

Cordialement.

  • Partager sur Facebook
  • Partager sur Twitter
tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici
18 décembre 2014 à 20:58:07

Hello,

merci ton script m'a bien aidé !

Ça serait cool de l'utiliser dans ce cours

J'ajouterais juste une chose, pour ceux qui ont un message d'erreurs avec libgdk3-0.dll.

Propriété ordinateur -> paramètres système avancés -> variables d'environnement..
Dans variables utilisateur, nouvelle,
variable : PATH
valeur : c:\votreDossierGTK\bin

Fermer et relancer code::blocks pour la prise en compte des changements Windows.

-
Edité par Myfzz 18 décembre 2014 à 20:58:18

  • Partager sur Facebook
  • Partager sur Twitter
3 mars 2015 à 17:21:50

Myfzz, je ne vois pas ou tu vas dans Propriété ordinateur ^^

[EDIT] https://www.java.com/fr/download/help/path.xml

-
Edité par garagou 3 mars 2015 à 17:42:47

  • Partager sur Facebook
  • Partager sur Twitter
May the Force be with you
9 août 2016 à 14:47:36

Myfzz a écrit:

c:\votreDossierGTK\bin-

Edité par Myfzz 18 décembre 2014 à 20:58:18

On peut aussi rajouter ce chemin dans le Search directories pour le linker

  • Partager sur Facebook
  • Partager sur Twitter
15 février 2017 à 18:59:07

Bonjour.

Je me permet de déterrer ce sujet.

@cotoporto :Merci pour ce tutoriel j'ai installé GTK+ sans probleme.

@Myfzz:Merci pour cette astuce ça a résolu l' erreur que tu avais mentionné.

Ce serait bien que un modo bloque le sujet sur le haut de la page(Car bien que ancien ce tuto a fonctionné,en tout cas pour moi.

Cordialement.

LaTechnoTouch.

  • Partager sur Facebook
  • Partager sur Twitter
21 mai 2018 à 14:46:41

Bonjour, je me permets de déterrer le sujet.

J'ai essayé ça suite au poste de Myfzz

" (Propriété ordinateur -> paramètres système avancés -> variables d'environnement..

Dans variables utilisateur, nouvelle, 
variable : PATH
valeur : c:\votreDossierGTK\bin) "

Mais cela n'a pas marché, j'ai toujours ce problème de libgdk3-0.dll
  • Partager sur Facebook
  • Partager sur Twitter
30 septembre 2018 à 2:22:57

MERCIMERCIMERCIMERCIMERCI Ca faisait 1 semaine que je galérais à utiliser gtk+ 3.6.4 merci vraiment !!!!

  • Partager sur Facebook
  • Partager sur Twitter
11 septembre 2019 à 13:34:12

Boujour, moi jai un petit soucis .

J'ai bien suivi les instructions comme indiqués, mais lors de l'éxecution on me dit que la libgtk-3-0.dll est introuvable et je ne sais comment resoudre le probleme:(

  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2019 à 12:54:25

bonjour à tous.

j'ai suivi à la lettre toutes les instructions pour installer gtk+ sous code blocks et je rencontre un soucis. 

lorsque je compile un programmme il y a une erreur de ce genre( voir la capture) et après le programme s'arrête.

J'ai besion de votre aideerreur de liens

  • Partager sur Facebook
  • Partager sur Twitter
27 septembre 2019 à 13:10:12

@AbelSadia apparemment le programme du compile utilise Cairo.  Or, il semblerait que tu n'ai pas lié la dll de Cairo au programme. 

Peux-tu donc mettre ici la liste des DLLs que tu as linké à ton programme et aussi mettre ici si possible ton code-source (s'il ne fait pas des centaines de ligne).

Sinon le code exemple suivant :

#include<gtk/gtk.h>
int main(int argc , char* argv[])
{
GtkWidget *window;
gtk_init(&argc,&argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_widget_show(window);
gtk_main();
return 0;
}



lorsque tu l'as essayé, il n'a pas fonctionné ? Je dis cela pour vérifier sic'est ta config ou ton code qui  est défectueux.

-
Edité par cotoporto 27 septembre 2019 à 13:11:40

  • Partager sur Facebook
  • Partager sur Twitter
tu aimerais apprendre l'assembleur avec NASM depuis zéro ? clique ici suis le fil de discussions ici