[C con Clase] Duda código dividido en ficheros.

David Fire ddfire en gmail.com
Sab Mayo 15 15:53:31 CEST 2010


es muuuuy simple copy paste del error que te da el compilador.



El 15 de mayo de 2010 04:59, Jorge Vega Sanchez <memmaker650 en gmail.com>escribió:

> Vale. Bueno se me había olvidado que trabajo en entonro Linux/Unix, enc
> oncreto MAC.
> Ya he seguido tus consejos y he quitado el fichero .h del comando de
> compilación.
> El problema que tengo es que me salen error porque me dice que la librería
> que enlazo en mi programa es como si no estuviera visible. Es decir no ve
> los procedimientos definidos en la librería.
>
> La librería está hecha por un amigo y he tenido que "instalar" a mano el
> fichero libxxx.a en /usr/local/lib/ y el fichero de cabecera en
> /usr/local/include/
> Aquí hay otra peculiaridad. Mirando el fichero de cabecera de la librería
> tiene un #include "  " a otro fichero de cabecera (.h) que esta dentro del
> código fuente de la librería.
> Aquí creo que tengo un problema porque al mover los ficheros libxxx.a y el
> .h ha cambiado la ruta al otro fichero de cabecera.
> Mi duda es:
> - La ruta para que enlace el segundo fichero de cabecera basta con que sea
> "/Users/jorgevegasanchez/xxx/ yyy7cabecera.h" o primero debo salir de
> include, local y usr y ponerlo así  #include
> "../../../Users/jorgevegasanchez/xxx/yyy/cabecera.h  ???
>
> - Si el fichero de cabecera de la librería enlaza con otro fichero de
> cabecera. Si copio el contenido de este segundo fichero de cabecera dentro
> del primero se supone que ya estará todos los métodos definidos y no hará
> falta enlazar nada más.
>
> Porque sé supone segun tengo entendido que el fichero de cabecera lo que
> hace es definir los métodos que luego se desarrollan en el fichero libxxx.a,
> no hace falta tener nada más de la librería.
>
>
> Ahora otra duda.
>
> Las librerías hay que incluirlas en el compilado, en el linkado o en ambos
> ???
>
> Espero haberlo explicado lo suficientemente bien, sé que es un poco
> farragoso.
>
> Un saludo y gracias de antemano.
>
>  On 15/05/2010, at 0:31, Reignerok wrote:
>
> Nunca he utilizado el compilador directamente, siempre a través de
> entornos, pero creo recordar que leí algo de poner -l para que enlazara las
> cabeceras. Trata de ponerle ese parámetro a ver si resulta. Ah, y una cosa
> que no sé si tendrá algo que ver, pero las cabeceras (headers) de C++ se
> suelen poner como *.hpp
>
> Un saludo!
>
> El 14 de mayo de 2010 21:22, Jorge Vega Sanchez <memmaker650 en gmail.com>escribió:
>
>> Estoy realizando un programa diviendo partes en ficheros y al compilarlo
>> me da error.
>>
>> Explico la estructura del programa porque la programación multi fichero
>> todavía no la entiendo del todo.
>>
>> 3 ficheros: prueba.cpp funciones.cpp y funciones.h
>>
>> - El programa usa una librería.
>> -Prueba.cpp --> contiene el main del programa y un par de funciones. Hace
>> uso de la librería. Sólo esta incluido #include "funciones.h". Definidas
>> variables globales.
>> -funciones.cpp -->  aquí hay varias funciones definidas que hacen uso de
>> la librería. Sólo está definido #include "funciones.h" y extern variables
>> globales.
>> -funciones.h --> definidas todas las librerías y las cabeceras de las
>> funciones definidas en funciones.cpp.
>>
>> Para compilar sigo este orden: g++ funciones.cpp funciones.h prueba.cpp -o
>> prueba
>>
>> El problema es que no reconoce nada de la librería externa.
>>
>> Si alguien  pudiera ayudar incluso si cree alguna forma mejor de
>> distribuir el trabajo en los ficheros.
>>
>> Gracias de antemano.
>> _______________________________________________
>> Lista de correo Cconclase Cconclase en listas.conclase.net
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100515/9a9fb57f/attachment.html>


Más información sobre la lista de distribución Cconclase