Ich habe ein Programm geschrieben, das mit Hilfe der bcm2835.h auf die SPI-Schnittstelle zugreift. Mit diesem Makefile hier hat das auch super funktioniert:
all: SPI_Com
SPI_Com: SPI_Com.o
gcc SPI_Com.c -lbcm2835 -o SPI_Com
SPI_com.o: SPI_Com.c
gcc -c SPI_Com.c
clean:
rm -rf *0 SPI_Com
Alles anzeigen
Jetzt habe ich mich um die GUI mit für die Software mit GTK+ gekümmert und dafür dieses Makefile genutzt:
CC = gcc
CFLAGS = `pkg-config --cflags gtk+-3.0`
LIBS = `pkg-config --libs gtk+-3.0`
Data_logging : Data_logging.o
$(CC) $(LIBS) -o Data_logging Data_logging.o
Data_logging.o : Data_logging.c
$(CC) $(CFLAGS) -c Data_logging.c
Alles anzeigen
Nun scheitere ich allerdings daran, beide Makefiles zu kombinieren, da ich nun sowohl die GTK-Files, als auch die bcm2835.h in einem einzigen Programm benötige.
Ich habe schon versucht "-lbcm2835" einfach in die Zeile "LIBS = `pkg-config --libs gtk+-3.0`" anzuhängen, aber das hat leider nicht gebracht, ich bekomme beim Kompilieren immer einen Fehler: "undefined reference to `bcm2835_init'
Ich kann also keine Funktionen aus der Lib aufrufen.
Mein zweiter Ansatz war eine weitere Zeile im Makefile:
Und dann die den Kompilierbefehl darum ergänzt:
Aber das bringt mich auch nicht weiter... Kann mir jemand erklären, wie ich das zum laufen bekomme?