Article View: es.comp.os.linux.programacion
Article #377Re: undefined reference to 'nombre funci_n'
From: Gonzalo Pérez de Olaguer Córdoba
Date: Thu, 13 Aug 2009 14:13
Date: Thu, 13 Aug 2009 14:13
54 lines
3278 bytes
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-mailReferences:
<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)