# Gtk, codeblocks et debian

**URL:** <https://www.debian-fr.org/t/gtk-codeblocks-et-debian/76254>\
**Category:** Programmation\
**Tags:** gtk\
**Created:** [Mars 27, 2018, 9:51 UTC](https://www.debian-fr.org/t/gtk-codeblocks-et-debian/76254 "2018-03-27T21:51:41Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Mars 27, 2018, 9:51 UTC](https://www.debian-fr.org/t/gtk-codeblocks-et-debian/76254/1 "2018-03-27T21:51:41Z")

</div>

Bonsoir, quelqu’un a réussit à installer gtk3 sur debian?  
enfin c’est installé puis quand je compile sur codeblocks je vois le fichier gtk.h  
et ca me dit que la ligne :  
#include \<gdk/gdk.h\>

pose problème ne trouve pas gdk 😕

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Mars 28, 2018, 12:26 UTC](https://www.debian-fr.org/t/gtk-codeblocks-et-debian/76254/2 "2018-03-28T12:26:02Z")

</div>

En cas de besoin d’un fichier, tu peux faire une recherche sur [https://www.debian.org/distrib/packages](https://www.debian.org/distrib/packages)

Par exemple, pour gdk.h, il semble que celui qui te manque soit dans le paquet libgtk-3-dev cf:  
[https://packages.debian.org/search?searchon=contents&keywords=gdk.h&mode=exactfilename&suite=stable&arch=any](https://packages.debian.org/search?searchon=contents&keywords=gdk.h&mode=exactfilename&suite=stable&arch=any)  
Je pense que tu as installé gtk, mais pas les paquets -dev qui contiennent les .h et autres composants de compil.

---

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Mars 28, 2018, 12:31 UTC](https://www.debian-fr.org/t/gtk-codeblocks-et-debian/76254/3 "2018-03-28T12:31:13Z")

</div>

C’était un problème situé au niveau de la configuration côté codeblocks, je trouve ca beaucoup plus compliquer de compiler avec un IDE en fait.  
Là du coup j’essais de cross compiler pour windows mais j’obtiens une erreur bizare.  
Comment je fais à partir du nom d’un package pour avoir le man?

je m’interesse à  
x86\_64-w64-mingw32-gcc

la compilation me donne des erreur bizares

> In file included from /usr/lib/x86\_64-linux-gnu/glib-2.0/include/glibconfig.h:9:0,  
> from /usr/include/glib-2.0/glib/gtypes.h:32,  
> from /usr/include/glib-2.0/glib/galloca.h:32,  
> from /usr/include/glib-2.0/glib.h:30,  
> from /usr/include/gtk-3.0/gdk/gdkconfig.h:13,  
> from /usr/include/gtk-3.0/gdk/gdk.h:30,  
> from /usr/include/gtk-3.0/gtk/gtk.h:30,  
> from main.c:2:  
> /usr/include/glib-2.0/glib/gtypes.h: In function ‘\_GLIB\_CHECKED\_ADD\_U64’:  
> /usr/include/glib-2.0/glib/gmacros.h:232:53: error: size of array ‘\_GStaticAssertCompileTimeAssertion\_0’ is negative  
> #define G\_STATIC\_ASSERT(expr) typedef char G\_PASTE (_GStaticAssertCompileTimeAssertion_, **COUNTER** )[(expr) ? 1 : -1] G\_GNUC\_UNUSED  
> ^  
> /usr/include/glib-2.0/glib/gmacros.h:229:47: note: in definition of macro ‘G\_PASTE\_ARGS’  
> #define G\_PASTE\_ARGS(identifier1,identifier2) identifier1 ## identifier2  
> ^ ~~~~~~~~~~  
> /usr/include/glib-2.0/glib/gmacros.h:232:44: note: in expansion of macro ‘G\_PASTE’  
> #define G\_STATIC\_ASSERT(expr) typedef char G\_PASTE (_GStaticAssertCompileTimeAssertion_, **COUNTER** )[(expr) ? 1 : -1] G\_GNUC\_UNUSED  
> ^ ~~~~~~  
> /usr/include/glib-2.0/glib/gtypes.h:423:3: note: in expansion of macro ‘G\_STATIC\_ASSERT’  
> G\_STATIC\_ASSERT(sizeof (unsigned long long) == sizeof (guint64));  
> ^ ~~~~~~~~~~~~~~  
> In file included from /usr/include/glib-2.0/gio/gio.h:46:0,  
> from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,  
> from /usr/include/gtk-3.0/gdk/gdk.h:32,  
> from /usr/include/gtk-3.0/gtk/gtk.h:30,  
> from main.c:2:  
> /usr/include/glib-2.0/gio/gcredentials.h: At top level:  
> /usr/include/glib-2.0/gio/gcredentials.h:75:1: error: unknown type name ‘uid\_t’  
> uid\_t g\_credentials\_get\_unix\_user (GCredentials \*credentials,  
> ^ ~~~~  
> /usr/include/glib-2.0/gio/gcredentials.h:79:52: error: unknown type name ‘uid\_t’  
> uid\_t uid,  
> ^ ~~~~

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Mars 28, 2018, 12:44 UTC](https://www.debian-fr.org/t/gtk-codeblocks-et-debian/76254/4 "2018-03-28T12:44:35Z")

</div>

> [@txj](#):
>
> Comment je fais à partir du nom d’un package pour avoir le man?

Alors c’est pas forcément que des pages de man, il y a souvent des docs complémentaires, surtout dans les paquets de dev.  
Pour savoir quoi lire dans un paquet, je fais plutôt ça:

```auto
mj@mercure:~$ dpkg -L gcc-mingw-w64
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/gcc-mingw-w64
/usr/share/doc/gcc-mingw-w64/changelog.Debian.gz
/usr/share/doc/gcc-mingw-w64/changelog.gz
/usr/share/doc/gcc-mingw-w64/copyright

```

Bon, là, c’est ce que j’ai trouvé de plus proche du nom de paquet x86\_64-w64-mingw32-gcc dont tu parles, car chez moi, je n’ai aucune trace de ce paquet.

Tu es sûr d’être sous debian ?

---

<div class="post-metadata">

**Author:** ![txj](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/d78d45/32.png) [@txj](https://www.debian-fr.org/u/txj)\
**Post date:** [Mars 28, 2018, 12:46 UTC](https://www.debian-fr.org/t/gtk-codeblocks-et-debian/76254/5 "2018-03-28T12:46:00Z")

</div>

c’est moi qui doit m’enmêler, c’est la commande que j’ai trouvé pour compiler j’ai penser que ca devait donc être un paquet

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Mars 28, 2018, 12:49 UTC](https://www.debian-fr.org/t/gtk-codeblocks-et-debian/76254/6 "2018-03-28T12:49:41Z")

</div>

OK.  
J’ai trouvé:

```auto
mj@mercure:~$ dpkg -L gcc-mingw-w64-x86-64 
/.
/usr
/usr/bin
/usr/bin/x86_64-w64-mingw32-cpp-posix
/usr/bin/x86_64-w64-mingw32-cpp-win32
/usr/bin/x86_64-w64-mingw32-gcc-6.3-posix
/usr/bin/x86_64-w64-mingw32-gcc-6.3-win32
/usr/bin/x86_64-w64-mingw32-gcc-ar-posix
/usr/bin/x86_64-w64-mingw32-gcc-ar-win32
/usr/bin/x86_64-w64-mingw32-gcc-nm-posix
/usr/bin/x86_64-w64-mingw32-gcc-nm-win32
/usr/bin/x86_64-w64-mingw32-gcc-posix
/usr/bin/x86_64-w64-mingw32-gcc-ranlib-posix
/usr/bin/x86_64-w64-mingw32-gcc-ranlib-win32
/usr/bin/x86_64-w64-mingw32-gcc-win32
/usr/bin/x86_64-w64-mingw32-gcov-dump-posix
/usr/bin/x86_64-w64-mingw32-gcov-dump-win32
/usr/bin/x86_64-w64-mingw32-gcov-posix
/usr/bin/x86_64-w64-mingw32-gcov-tool-posix
/usr/bin/x86_64-w64-mingw32-gcov-tool-win32
/usr/bin/x86_64-w64-mingw32-gcov-win32
(...)
/usr/share/doc/gcc-mingw-w64-x86-64
mj@mercure:~$ ls /usr/share/doc/gcc-mingw-w64-x86-64
changelog.Debian.amd64.gz changelog.Debian.gz changelog.gz copyright README.Debian

```

mais aucune page de man ou autre doc.

Fais un **man -k mingw** ça pourra t’intéresser.
