C++ Externen Code in C++ Projekt einbeziehen ==> "aubio"

KingKronos

Cadet 4th Year
Registriert
Jan. 2011
Beiträge
94
Hallo zusammen!

Ich muss für ein Robotik-Projekt die Tonhöhe einer Saite ermitteln. Da selbst programmieren mir nicht realistisch erscheint, habe ich mich dazu entschlossen "aubio" (http://aubio.org/) zu verwenden, was mir empfohlen wurde.

Nun zu meinem Problem:

Das Projekt läuft wie gesagt in C++. An der Universität benutzen wir unter Linux den g++ - Compiler.
Zuhause habe ich unter Windows 7 als g++ "Emulator" Cygwin laufen. Das klappt soweit auch wunderbar.

Schwer fielen mir dann die Makefiles. Ich habe mich eingelesen, und etwas geschrieben das so aussieht:
(und auch funktioniert mal abgesehen von der Tatsache, dass immer alles neu compiliert wird... :p)

Code:
OBJECTS=main.o Note.o RobotController.o RobotTranslator.o Song.o SongPlayer.o SongReader.o
SRC=main.cpp Note.cpp RobotController.cpp RobotTranslator.cpp Song.cpp SongPlayer.cpp SongReader.cpp
BIN=a
DEPENDFILE=.depend

all: $(OBJECTS)
	g++ -o $(BIN) $(OBJECTS)

%.o: %.cpp dep
	g++ -c $<
	
dep: $(SRC)
	g++ -MM $(SRC) > $(DEPENDFILE)
	
clean:
	rm -rf $(BIN) $(OBJECTS) $(DEPENDFILE)
	
-include $(DEPENDFILE)

Zwar habe ich gelernt C++ zu schreiben und bloß immer allen Speicher freizugeben etc., aber wie ich nun solch eine "Library" in mein Projekt einbinden kann ist mir ein wahres Rätsel, und etwas nützliches gefunden habe ich bislang nicht wirklich.

Ist es so simpel, dass ich die Makefiles der Library in mein Makefile einbinden kann, und die Funktionen über die Header-Files einfach nutzen kann? Oder ist das alles unter Windows Cygwin garnicht möglich, oder allg. viel komplizierter als ich mir das hier erhoffe?

Wäre toll wenn mir da jemand ein wenig unter die Arme greifen könnte, bin da langsam am verzweifeln.

Viele Grüße, KK
 
Ja. mit -L gibst du das Verzeichnis an, in dem die Bibliothek liegt, falls sie nicht im Suchpfad des Linkers ist
und mit -l sagst du dem Linker, welche Bibliothek aus diesen ganzen Verzeichnissen er nehmen soll.

Ist doch nicht so schwer. :/
 
Hi nochmal!

Tut mir Leid wenn ich das Thema nun nach oben ziehe ohne viel Sinn und Zweck, wollte mich nur erstmal bei dir bedanken für deine Hilfe.
Hat leider ein wenig gedauert bis ich das so ausprobieren konnte. Vielen Dank!

Viele Grüße,
KK
 
Zurück
Oben