traduccion photobook c glib

photobook - glib traduccion



¿Por qué no puedo construir un "mundo de hola" para glib? (5)

Como @chris dijo use pkg-config .

glibconfig.h is missing

es porque este archivo no está en /usr/include/glib-2.0 , sino en /usr/lib/glib-2.0. Por lo tanto, debe incluir también esta ruta /usr/lib o copiar el archivo a /include/glib-2.0

Así que aquí está el programa glib más simple del mundo:

#include <glib.h>

Intento compilarlo con gcc test.c y obtengo:

test.c:1:18: error: glib.h: No such file or directory

Así que me aseguro de tener los paquetes correctos:

# dpkg -l | grep libglib ii libglib-perl 1:1.183-1 Perl interface to the GLib and GObject libra ii libglib1.2-dev 1.2.10-19build1 The GLib library of C routines (development) ii libglib1.2ldbl 1.2.10-19build1 The GLib library of C routines ii libglib2.0-0 2.20.1-0ubuntu2 The GLib library of C routines ii libglib2.0-cil 2.12.1-1ubuntu2 CLI binding for the GLib utility library 2.1 ii libglib2.0-data 2.18.2-0ubuntu2 Common files for GLib library ii libglib2.0-dev 2.20.1-0ubuntu2 Development files for the GLib library ii libglibmm-2.4-1c2a 2.18.1-1 C++ wrapper for the GLib toolkit (shared lib

Luego busco cualquier "glib.h" en cualquier lugar en / usr / include. Obtengo dos, /usr/include/glib-1.2/glib.h y /usr/include/glib-2.0/glib.h. Entonces intento:

$ gcc -I/usr/include/glib-2.0 -Wall test.c In file included from /usr/include/glib-2.0/glib/galloca.h:34, from /usr/include/glib-2.0/glib.h:32, from test.c:2: /usr/include/glib-2.0/glib/gtypes.h:34:24: error: glibconfig.h: No such file or directory

(aproximadamente 10,000 errores más recortados)

No parece tener un glibconfig.h ninguna parte de mi computadora.

¿Qué hago ahora?


También estoy usando glib.h- Haz esto para compilar todos tus programas glib.h :)

gcc `pkg-config --cflags --libs glib-2.0` filename.c

Asegúrate de rodear a pkg-config --cflags --libs glib-2.0 con comillas que encuentras debajo de tilde (la tecla más a la izquierda en el teclado querty).

Gracias más tarde ..: P


glib tiende a ocultarse ... Su declaración de inclusión no funciona porque GCC no busca automáticamente subdirectorios, por lo que no puede ver glib.h en glib-1.2 o glib-2.0.

Lea la página Compilación de Aplicaciones GLib en los manuales de GLIB ... usted usa comandos como pkg-config --cflags glib-2.0 para obtener los indicadores correctos para GCC.

La manera canónica de hacer lo que estás intentando es

% gcc test.c -Wall -o test `pkg-config --cflags --libs glib-2.0`

Tenga en cuenta los "back-ticks", que le dicen al shell que ejecute el comando pkg-config "in situ".


apt-get build-dep es tu amigo, nadie puede recordar todos los paquetes que necesitas para construir algo.


> > The canonical way to do what you are trying is > % gcc test.c -Wall -o test `pkg-config --cflags --libs glib-2.0`

Lo siento, pero no. Esa es una idea errónea común, que simplemente funciona en la mayoría de los casos en sistemas basados ​​en ELF, Linux en particular. La forma canónica es pasar los cflags y las bibliotecas por separado, en las ubicaciones correctas y tradicionales en la línea de comandos, así:

gcc -Wall -o test `pkg-config --cflags glib-2.0` test.c `pkg-config --libs glib-2.0`

Es una lástima que pkg-config acepte las opciones --cflags y --libs al mismo tiempo, ya que significa que este meme incorrecto nunca morirá, y las personas que lo usan en Linux seguirán desconcertadas cuando intenten lo mismo en otras plataformas.