guia_err_picc

Páginas: 11 (2710 palabras) Publicado: 29 de noviembre de 2015
Errores de compilaci´on comunes en gcc
Paco Abad
22 de octubre de 2002

´Indice
1. Introducci´
on
2. Errores comunes en gcc
2.1. ‘variable’ undeclared (first use
2.2. No such file or directory . . . . .
2.3. parse error before ‘string’ . . .
2.4. missing terminating " character .
2.5. undefined reference to ‘funci´
on’
2.6. incompatible type for argument 1
2.7. unterminated string or character2.8. parse error at end of input . . .
2.9. invalid macro name . . . . . . . . .

2

in this function)
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
of ‘funci´
on’ . . .
constant . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
..

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

3. Avisos comunes en gcc
3.1. unknown escape sequence ‘\z’ . . . . . . . . . . . . . . . . . . . . . . . .
3.2. multi-character character constant . . . . . . . . . . . . . . . . . . . .
3.3. passing arg n of ‘funci´
on’ makes pointer from integer without a
3.4. implicit declaration of function ‘funci´
on’ . . . . . . . . . . . . . .
3.5.suggest parentheses around assignment used as truth value . . . .
3.6. format argument is not a pointer (arg n) . . . . . . . . . . . . . . . .
3.7. return type of ‘main’ is not ‘int’ . . . . . . . . . . . . . . . . . . . .
3.8. ‘return’ with a value, in function returning void . . . . . . . . . .
3.9. control reaches end of non-void function . . . . . . . . . . . . . . . .
4. M´
as informaci´on...

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

3
3
3
3
4
4
4
5
5
5

. . .
. . .
cast
. . .
. . .
. . .
. . .
. . .
. . .

.
.
.
.
.
.
.
.
.

5
5
5
5
6
6
7
7
7
7

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

8

1

1.

Introducci´
on

El compilador gcc puede producir dos tipos de mensajes: errores y avisos (warning). Cada tipo
tiene un prop´
osito distinto:
Errores: Informan de problemas que hacen imposiblecompilar el programa. gcc indica
d´onde esta el error mediante el nombre del fichero y el n´
umero de l´ınea donde cree que
puede estar el problema.
Avisos: Indican un problema, aunque la compilaci´on contin´
ua. Los mensajes de aviso tambi´en indican el fichero y el n´
umero de l´ınea, pero incluyen el texto warning para distinguirlos
de los mensajes de error.
Los avisos pueden indicar puntos depeligro que se deber´ıan comprobar para asegurarse que el
programa realmente hace lo que debe. Muchos avisos s´olo se generan si se incluye la opci´on -Wall.
Por ello, se aconseja utilizar el siguiente formato para compilar programas con gcc:
gcc -o nombre_ejecutable fuente.c [fuente2.c...] -Wall
Los avisos no se deber´ıan ignorar, porque normalmente indican que hay algo mal en el programa, yseguramente se comportar´
a de forma diferente a la esperada. Hay otra opci´on de compilaci´on
que comprueba si se est´
an utilizando variables sin inicializar. Dicha opci´on se activa con la opci´on
-O.
Los mensajes de error y los avisos aparecen precedidos por el nombre del fichero y la funci´on
donde se ha encontrado el error. Por ejemplo:
prog.c: In function ‘main’:
indica que el error est´
a en elfichero prog.c, y espec´ıficamente en la funci´on main. Las siguientes
l´ıneas indican los errores que ha encontrado dentro de dicha funci´on. Si el programa tiene m´as de
una funci´
on o m´as de un fichero, entonces los errores de cada funci´on y fichero aparecer´an listados
separadamente. Las l´ıneas de error o aviso que siguen la l´ınea anterior indican el lugar aproximado
donde se ha producidoel error (en ocasiones el compilador no es capaz de encontrar exactamente
la l´ınea err´
onea). El formato con el que aparecen es el nombre del fichero, seguido por la l´ınea
dentro de ese fichero, la palabra warning (si es un aviso) y una descripci´on del problema. Por
ejemplo:
prog.c:3: warning: unknown escape sequence ‘\z’
indica que hay un problema en la l´ınea 3 del fichero prog.c. El...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS