LAME (mp3) kompilieren

user31085

Cadet 2nd Year
Dabei seit
Juli 2005
Beiträge
22
#1
Hallo,

ich versuche von folgender Quelle http://lame.cvs.sourceforge.net/viewvc/lame/lame/ eine neuere LAME Version kompilieren.

Dazu habe ich auf Windows 10 den MinGW installiert mit allen nötigen Erweiterungen.

Dann navigiere zum LAME Ordner gebe ./configure --prefix=/mingw --enable-export=full ein. Danach ein make. Jedoch bekomme ich folgenden Fehler:

collect2.exe: Fehler: ld gab 1 als Ende-Status zurück
make[3]: *** [libmp3lame.la] Error 1
make[3]: Leaving directory `/home/neu/lame/libmp3lame'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/neu/lame/libmp3lame'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/neu/lame'
make: *** [all] Error 2

Hat jemand eine Idee woran das liegen kann?
 
Dabei seit
Okt. 2013
Beiträge
33.550
#3
Da war ein Fehler vor dem was du uns hier zeigst. Niemand kann eine Idee haben woran das liegt, weil du nicht genügend Informationen lieferst. Alles was wir wissen können: das Linken ging schief.
 

user31085

Cadet 2nd Year
Ersteller dieses Themas
Dabei seit
Juli 2005
Beiträge
22
#4
LAME 3.99.5 ist schon 5 Jahre alt, daher wollte ich mir eine neue Version bauen.

Code:
/bin/sh ../libtool  --tag=CC   --mode=link gcc   -version-info 0:0 -export-symbols ../include/libmp3lame.sym -no-undefined  -o libmp3lame.la -rpath /mingw/lib VbrTag.lo bitstream.lo encoder.lo fft.lo gain_analysis.lo id3tag.lo lame.lo newmdct.lo presets.lo psymodel.lo quantize.lo quantize_pvt.lo reservoir.lo set_get.lo tables.lo takehiro.lo util.lo vbrquantize.lo version.lo mpglib_interface.lo   ../mpglib/libmpgdecoder.la -lm
libtool: link: /mingw/bin/nm -B  .libs/VbrTag.o .libs/bitstream.o .libs/encoder.o .libs/fft.o .libs/gain_analysis.o .libs/id3tag.o .libs/lame.o .libs/newmdct.o .libs/presets.o .libs/psymodel.o .libs/quantize.o .libs/quantize_pvt.o .libs/reservoir.o .libs/set_get.o .libs/tables.o .libs/takehiro.o .libs/util.o .libs/vbrquantize.o .libs/version.o .libs/mpglib_interface.o   ../mpglib/.libs/libmpgdecoder.a | sed -n -e 's/^.*[         ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)\{0,1\}$/\1 _\2 \2/p' | sed '/ __gnu_lto/d' | /bin/sed -e '/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //' | sort | uniq > .libs/libmp3lame.exp
libtool: link: if test DEF = "`/bin/sed -n -e 's/^[      ]*//' -e '/^\(;.*\)*$/d' -e 's/^\(EXPORTS\|LIBRARY\)\([         ].*\)*$/DEF/p' -e q .libs/libmp3lame.def`" ; then cp .libs/libmp3lame.def .libs/libmp3lame-0.dll.def; else echo EXPORTS > .libs/libmp3lame-0.dll.def; cat .libs/libmp3lame.def >> .libs/libmp3lame-0.dll.def; fi
libtool: link:  gcc -shared .libs/libmp3lame-0.dll.def  .libs/VbrTag.o .libs/bitstream.o .libs/encoder.o .libs/fft.o .libs/gain_analysis.o .libs/id3tag.o .libs/lame.o .libs/newmdct.o .libs/presets.o .libs/psymodel.o .libs/quantize.o .libs/quantize_pvt.o .libs/reservoir.o .libs/set_get.o .libs/tables.o .libs/takehiro.o .libs/util.o .libs/vbrquantize.o .libs/version.o .libs/mpglib_interface.o  -Wl,--whole-archive ../mpglib/.libs/libmpgdecoder.a -Wl,--no-whole-archive     -o .libs/libmp3lame-0.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libmp3lame.dll.a
Cannot export lame_init_old: symbol not defined
collect2.exe: Fehler: ld gab 1 als Ende-Status zurück
make[3]: *** [libmp3lame.la] Error 1
make[3]: Leaving directory `/home/neu/lame/libmp3lame'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/neu/lame/libmp3lame'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/neu/lame'
make: *** [all] Error 2
 
Dabei seit
Okt. 2008
Beiträge
5.360
#6
Da war ein Fehler vor dem was du uns hier zeigst. Niemand kann eine Idee haben woran das liegt, weil du nicht genügend Informationen lieferst. Alles was wir wissen können: das Linken ging schief.
Doch, die Informationen mit dem aktuellem Informationsstand wurden geliefert -> Es sind mehr Informationen notwendig.

Version MinGW, Version GCC, deine genauen Eingaben, wenn vorhanden welcher Anleitung du gefolgt bist, ...

Ansonsten habe ich guten Erinnerungen an meine letzten Gehversuche mit MinGW und die Muse dein Problem nachzustellen ist sorecht nicht vorhanden..
 
Dabei seit
Aug. 2015
Beiträge
915
#8
In der Datei INSTALL aus dem LAME-Archiv wird explizit auch auf Mingw eingegangen.
Danach reicht eben ein ./configure nebst make eben nicht unbedingt, wenn ich richtig verstanden hab.

Konkret steht da:
=======================================================================
Building the software on Windows with free compilers:
=======================================================================
LAME can be compiled with various Windows MSDOS ports (all free)
of GCC (DJGPP, Mingw32). See README.DJGPP.

For Mingw32, you should now be able to use the Unix Makefile that
comes with LAME. Try: "make -f Makefile.unix UNAME=MSDOS"
You may need to remove these lines from brhist.c:

#ifdef _WIN32
COORD Pos;
HANDLE CH;
CONSOLE_SCREEN_BUFFER_INFO CSBI;
#endif

Mingw32 users may also try to use the unix configure script (explained
above), it has _untested_ support for Mingw32.

[...]

Can DJGPP or Mingw32 produce lame_enc.dll?

Various build options can be set in configMS.h
 

user31085

Cadet 2nd Year
Ersteller dieses Themas
Dabei seit
Juli 2005
Beiträge
22
#9
Ich habe es mit Visual Studio und nmake hinbekommen, jedoch nur als 32bit Version, aber die reicht mir erstmal aus.

LAME 3.100 soll dieses Jahr noch final werden, nach über 5 Jahren!
 
Dabei seit
Aug. 2015
Beiträge
915
#10
Top