🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #377

Re: undefined reference to 'nombre funci_n'

#377
From: Gonzalo Pérez de Olaguer Córdoba
Date: Thu, 13 Aug 2009 14:13
54 lines
3278 bytes
Hola angel <angelbat@graciasensefils.net>
el Thu, 13 Aug 2009 15:55:41 +0200 escribiste:

> > 
> > Es decir, cuando en el primer fichero invocas una
> > funcion que aparece posteriormente en otro fichero, el compilador
> > no sabe donde está (ni si está) esa funcion. Siempre declara
> > las funciones antes de usarlas.
> 
> ¿Entonces no basta con el "#include <gui.h>" en el archivo "aplicacion.c"?
> Ahí la declara, ¿ no ?.

Sí basta, siempre que al compilador le indiques que busque en el directorio
donde se encuentra gui.h (en este caso -I`pwd`/interfaz), cosa que ha hecho.

> Quizá es que el compilador no encuentra "gui.h".

Sí que lo encuentra.

> Si "gui.h" está en el mismo directorio de "aplicacion.c" debería escrivir el
> include así: #include "gui.h"
> y si está en otro, así: #include "/path/al/archivo/gui.h"

Correcto.

> Tal como está escrito ahora solo será encontrado si está en el paht de los
> includes.
> Otra opción sería indicar al compilador el camino a los archivos cabecera,
> creo que con la opció "-I /camino/a/los/*.h".

Eso es lo que ha hecho.

> 
> Por favor. Corregidme si me equivoco que siempre me lio con esto.

Lo que dices es correcto. Puede que me equivoque, pero creo que los includes
eran correctos, y de hecho la compilación funcionaba bien.

Lo que le estaba fallando era la operación de enlace del "linkador". El error
se lo estaba dando a la hora de enlazar, porque no había incluido gui.o para
enlazar junto a aplicaction.o

Sin mirar mas detenidamente, creo que eso es lo que le pasaba.

-- 
Gonzalo Pérez de Olaguer Córdoba <gpoc@iies.es> --- www.gpoc.es
PGP key 2861C704 --- F206 5671 6789 425D 111C  1302 214F 1934 2861 C704
Technical Details
Message-ID: <20090813161333.16b79dca@petres.salonet.snet>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!feeder.news-service.com!weretis.net!feeder1.news.weretis.net!news.antakira.com!cagarruta.escomposlinux.org!hercules.escomposlinux.org!escomposlinux.org!not-for-mail
References: <bd100d8c-007d-4ed0-8849-f5ec794eb1a9@t13g2000yqt.googlegroups.com> <74252f51-67ef-4ef6-9ef1-8b5a5d5a526f@v20g2000yqm.googlegroups.com> <0cda87d3-9d98-4032-917d-dabbcf88aace@c34g2000yqi.googlegroups.com> <usd785pn82jvrl109tg13inm2oogj2rd8e@4ax.com> <h61693$4gv$1@cagarruta.escomposlinux.org>

Show Full Headers
Complete Article Headers
X-Google-Thread: 646d03421f,9683c50b658adc39
X-Google-Attributes: gid646d03421f,public,usenet
X-Google-NewGroupId: yes
X-Google-Language: SPANISH,UTF8
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!feeder.news-service.com!weretis.net!feeder1.news.weretis.net!news.antakira.com!cagarruta.escomposlinux.org!hercules.escomposlinux.org!escomposlinux.org!not-for-mail
From: Gonzalo Pérez de Olaguer Córdoba <gpoc@iies.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: undefined reference to 'nombre funci_n'
Date: Thu, 13 Aug 2009 16:13:33 +0200
Organization: escomposlinux.org
Lines: 55
Message-ID: <20090813161333.16b79dca@petres.salonet.snet>
References: <bd100d8c-007d-4ed0-8849-f5ec794eb1a9@t13g2000yqt.googlegroups.com>
 <74252f51-67ef-4ef6-9ef1-8b5a5d5a526f@v20g2000yqm.googlegroups.com>
 <0cda87d3-9d98-4032-917d-dabbcf88aace@c34g2000yqi.googlegroups.com>
 <usd785pn82jvrl109tg13inm2oogj2rd8e@4ax.com>
 <h61693$4gv$1@cagarruta.escomposlinux.org>
NNTP-Posting-Host: 84.77.244.205
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Trace: hercules.cohp1 1250172818 27023 84.77.244.205 (13 Aug 2009 14:13:38 GMT)
X-Complaints-To: newsmaster@news-17.escomposlinux.org
NNTP-Posting-Date: Thu, 13 Aug 2009 14:13:38 +0000 (UTC)
X-Newsreader: Claws Mail 3.5.0 (GTK+ 2.12.12; i486-pc-linux-gnu)