what how create c makefile check-framework

how - makefile structure



Construyendo la biblioteca para el marco C de prueba de verificación (1)

Agregar comentario como respuesta:
Por favor, compruebe si ha instalado el marco de check . Si es así, podrías intentar usar pkg-config decir

gcc check_money.c `pkg-config --cflags --libs check`

Aquí la utilidad pkg-config leerá el archivo .pc (que pasa a ser check.pc en el caso de check framework, por lo tanto la última entrada en el comando dice check ) y agrega los indicadores de compilación necesarios (opción --cflags ) & libraries / Opciones de vinculador (opción --libs )

¡Espero que esto ayude!

Empecé a usar el marco de verificación para probar la aplicación C. Para una mejor comprensión, analicé el ejemplo en el paquete de verificación. Está funcionando bien, pero no necesito las herramientas de automake. Quiero compilarlo con mi propio Makefile (ya que quiero entender el cheque correctamente y necesito usar mi aplicación final como un paquete de SO). Tal vez podría usar allí el Makefile autogenerado, pero por ahora, sería la próxima vez que tengo que aprender algo nuevo y tengo un tiempo limitado para preparar pruebas unitarias. (Entonces, por supuesto, quiero estudiar y comprender las herramientas para generar Makfile, usar configure, etc.)

Hay un problema al crear una aplicación con mi Makefile, que no he vinculado el objeto para la funcionalidad de verificación:

/tmp/ccm7cniy.o: In function `test_money_create'': check_money.c:(.text+0x1e): undefined reference to `tcase_fn_start'' check_money.c:(.text+0x79): undefined reference to `_fail_unless'' check_money.c:(.text+0xcc): undefined reference to `_fail_unless''

Descubrí que en el ejemplo de aplicación es el gcc con obj. archivo check_money-check_money.o , que fue creado por gcc:

gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT check_money-check_money.o -MD -MP -MF .deps/check_money-check_money.Tpo -c -o check_money-check_money.o `test -f''check_money.c'' || echo ''./''`check_money.c

Y aquí está mi problema: usa la dependencia check_money-check_money.Tpo . Este archivo se generaba con el comando ./configure , que no uso.

¿Cómo puedo crear mi propio archivo .o para que la verificación se genere correctamente? Es necesario crear este archivo para cada aplicación? ¿No podría ser uno, en algún lugar de las bibliotecas compartidas?

(Lo siento si mi pregunta es "estúpida", tengo poca experiencia al crear aplicaciones en Linux todavía)