Unas dudas sobre C en linux y Librerias

Buenas,

Creo que lo que preguntaré es una chorrada, pero ando bastante perdido y no se por donde pillar esto.
Os cuento. Estoy intentando hacer unas chorraditas en C sobre una placa de la que el fabricante facilita bastantes herramientas de desarrollo.
Ahora mismo estoy intentando conectar un sensor de temperatura en un ADC (conversor analogico digital) y he instalado unas librerias que especialmente hechas para esta placa. Tan solo hay que ejecutar un Makefile y en este proceso se generan una seria de ficheros .o (librerias, no?). Ademas traen unos ejemplos en cpp pero no puedo compilarlos.

Ahora la pregunta: ¿De que manera puedo ejecutar esos ejemplos o qué necesito para crearme yo un main y hacer unas pruebas?
¿Los .o generados debo incluirlos de alguna manera especial???
No sé, como veis estoy muy perdido.

Los errores que me dá (dependiendo del cpp que intente compilar) son:
undefined reference to `spi_InUse'
o
error: ‘errmsg’ was not declared in this scope


Agradeceria enormemente alguna ayudita.
Gracias!
Esos errores es problemas de includes normalmente. Bien no está incluido todo lo que debería o bien faltan librerías y al hacer el include no las encuentra, dando el consecuente fallo.
Buenas, gracias por la respuesta.
La historia es que lo logico seria pensar que esos ejemplos desarrollados por el fabricante seran correctos, y que habran colocado los includes como dios manda.... o eso espero.

Lo que no acabo de entender es el tema del codigo fuente que te facilita la marca. En los 2 casos que necesito ambos fabricantes te dan el fuente (.h y .c o cpp) pero al menos en el caso de usar sobre linux compilas esos fuentes y... aqui la cuestion... como empiezas a usar esas "librerias"?? Es decir, en el caso que os cuento he compilado segun un makefile que trae y se han generado ficheros .o, ¿son de los que debo usar?,y si es asi¿como?.
Entiendo que despues de compilar, los ejemplos que traen no deberia compilarlos con gcc,no? Ya se habran compilado y por eso saltan los errores que he puesto antes,no?

Quizas demasiadas preguntas para un solo hilo, pero es que no acabo de pillar "el concepto". Si tuviera que preguntar solo una vez.. ¿que consigo compilando los fuentes? Poder llamar a sus funciones desde cualquier codigo?

Espero no saturaros con tanta pregunta, a ver si me podeis guiar un pelin Gracias de ante de ante de ante mano
Sin haber leido en detalle el hilo...
Si el "make" de su proyecto te genera archivos .o (object) es probable que debas combinar dichos .cpp y .h dentro de tu proyecto y compilarlo todo junto.
Igual deberias utilizar esos .o como .so, bibliotecas que luego copiarias donde corresponda.

Y vamos, no todo es "el include". Si compilas a mano (no con make) debes indicarle a GCC que bibliotecas enlazar, con -l.
Por ejemplo, si tu programa usa "ncurses" tendras un #include <ncurses.h> pero si no compilas indicandole a gcc "-lncurses" tendras 1000 errores XD

Si hay un makefile ya es otra historia, claro. O si usas un IDE... (que si, en GNU/Linux existen, no todo es la "terrible" consola, como se tiende a pensar)
3 respuestas