Seite 1 von 1

Projekt mit Lame zusammen builden

Verfasst: 6. Juli 2011 23:27
von skeemo
Hallo,

vermutlich denke ich zu kompliziert...

Aber mal von Anfang an:

Ich schreibe gerade ein kleines (plattformunabhängiges!) Audioschnittprogramm. Die Audiorohdaten will ich auch als MP3 encodieren können ( und decodieren).

Da gibt es ja diverse De/Encoder, z.b. Lame, wohl einer der bekannteren.

Das Codieren möchte ich direkt in meinem Programm realisieren. Also nicht als WAV speichern, und dann einen Prozess mit dem Konverter starten.

Da habe ich nun aber so meine Probleme:
Wie füge ich die ganze Lame Bibliothek meinem Projekt hinzu ?
Das ganze kommt ja mit eigenen Makefiles. Ich habe mal die Lame.exe mit mingw32 gebaut, funktioniert auch, nur wenn ich selber den Hauptheader lame.h meinem Projekt hinzufüge (und alle anderen dateien der lib), dann krieg ich das nicht gebacken bzw. weiss nicht wie ich das machen soll......
Momentan entwickle ich auf Windows, das ganze soll aber ohne Tamtam auch auf Linux laufen.

Sorry, wahrscheinlich ist das ne saudumme Frage. Eigentlich bin ich fit mit Qt/C++, Programmieren i.A..
Aber irgendwie habe ich mich um solche Themen bisher immer herumgewurschtelt, ohne das wirklich zu kapieren :-/
Wäre cool wenn mir jemand helfen kann.

Verfasst: 10. Juli 2011 16:36
von skeemo
Niemand ne Idee, wie ich externe Bibliotheken dazu linke ?

Verfasst: 10. Juli 2011 18:37
von ScyllaIllciz
Im *.pro File:
INCLUDEPATH += /path/to/include/
LIBS += -L/path/to/lib/ -ldeinelib

Verfasst: 10. Juli 2011 19:31
von skeemo
Nee, das geht auch nicht.

Könnte sich jemand nicht mal die Lame Sourcen runterladen und das ausprobieren ? Sind blos 2 MB, kann ich aber nicht anhängen :

http://sourceforge.net/projects/lame/fi ... z/download

Man soll den Header "lame.h" aus dem Verzeichnis /include einbinden.

Methodenaufrufe wie lame_init() gehen aber nicht, weil es dann (eigentlich logisch) undefined reference fehler gibt, da in lame.h nur Prototypen stehen.

Das ist echt enorm wichtig für mich gerade.

Verfasst: 10. Juli 2011 19:39
von Christian81
Man muss die lame-Library schon erstmal erstellen bevor man gegen sie linken kann.

Verfasst: 10. Juli 2011 21:12
von skeemo
Ja das ist genau der Punkt.

Das bekomme ich nicht gebacken.

*shame*

Verfasst: 10. Juli 2011 22:39
von ScyllaIllciz
Welches Betriebssystem, welcher Compiler?
Ich gehe von Windows aus, da unter Linux nur das richtige Paket installiert werden muss.
Wenn Windows MSVC, dann schau mal in den Ordner vc_solution. Dort sind alle Solutions hinterlegt, sodass Du die nur noch öffnen musst und dann kompilieren kannst.
Wenn Windows mingw32, dann in der msys console "./configure && make && make install".

Verfasst: 12. Juli 2011 08:18
von skeemo
Also ich habs hinbekommen.

Man kann mit MingW32 unter Windows das Unix Makefile benutzen und einfach mit mingw32-make.exe den Build starten.
Die libmp3lame.a wird dann auf jeden Fall mitgebaut und lässt sich dann wie oben (danke @ScyllaIllciz) einbinden.

Danke :)