Bugs item #3125235, was opened at 2010-12-02 06:42
Message generated for change (Settings changed) made by bob0r
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100290&aid=3125235&group_id=290
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Frontends (lame/mp3x/...)
Group: None
Status: Open
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: bob0r (bob0r)
Assigned to: Robert Hegemann (robert)
Summary: make -f Makefile.mingw32 fails
Initial Comment:
cvs -z3 -d:pserver:anonymous@... co -P lame
configure --enable-expopt=full
make
Working fine, then:
cd Dll
make -f Makefile.mingw32
gives:
$ make -f Makefile.mingw32
g++ -I../include -I../libmp3lame -c BladeMP3EncDLL.c -o BladeMP3EncDLL.o
In file included from BladeMP3EncDLL.c:24:
BladeMP3EncDLL.h:198: warning: 'packed' attribute ignored
BladeMP3EncDLL.h:230: warning: 'packed' attribute ignored
BladeMP3EncDLL.c: In function 'void DebugPrintf(const char*, ...)':
BladeMP3EncDLL.c:63: error: invalid conversion from 'void*' to 'HINSTANCE__*'
BladeMP3EncDLL.c:63: error: initializing argument 1 of 'DWORD GetModuleFileNameA(HINSTANCE__*, CHAR*, DWORD)'
BladeMP3EncDLL.c: In function 'BE_ERR updateLameTagFrame(lame_global_flags*, FILE*)':
BladeMP3EncDLL.c:830: error: invalid conversion from 'void*' to 'unsigned char*'
BladeMP3EncDLL.c: In function 'void dump_config(lame_global_flags*)':
BladeMP3EncDLL.c:1008: error: 'lame_get_athaa_loudapprox' was not declared in this scope
make: *** [BladeMP3EncDLL.o] Error 1
----------------------------------------------------------------------
>Comment By: bob0r (bob0r)
Date: 2010-12-08 22:30
Message:
Thanks a lot! lame_enc.dll is compiled.
So this issue is fixed!
I was going to say, this created .dll doesn't work with
http://www.oddsock.org/tools/edcast/ but it seems we have to grab it
elsewhere.
Anyway, Edcast says error with dll, but at least now we can try and find
out why. Thanks!
----------------------------------------------------------------------
Comment By: Robert Hegemann (robert)
Date: 2010-12-08 16:49
Message:
You may try again. For coying the static library, well the location of it
depends on what Makefile one uses to compile it. (There are several
possibilities, so there is no one-fits-it-all for now)
----------------------------------------------------------------------
Comment By: bob0r (bob0r)
Date: 2010-12-08 12:13
Message:
Could you update the files so it will work? Mingw/msys and gcc are not
going to change, so updating the script would be best.
Drop by on irc.freenode.net nick jarod (and/or check in on #x264).
Thanks!
----------------------------------------------------------------------
Comment By: Robert Hegemann (robert)
Date: 2010-12-08 09:54
Message:
It seems, for some reason the G++ compiler now chooses to compile C code as
C++ code. The function names have wrong name decorations, hence the
undefined references. It seems your compiler version needs a switch to tell
him it is C code, or you could change g++ into gcc in the Makefile (which
is just a shortcut to adding that switch at the command line, IIRC).
----------------------------------------------------------------------
Comment By: bob0r (bob0r)
Date: 2010-12-07 22:32
Message:
lame/libmp3lame/.libs/libmp3lame.a
It is created there. Maybe update the compile script to look there?
I copied libmp3lame.a to lame/libmp3lame/
This is what i get:
$ make -f Makefile.mingw32
g++ -L../libmp3lame -o lame_enc.dll -mdll -s BladeMP3EncDLL.o
lame_enc_exp.o -lmp3lame
lame_enc_exp.o:fake:(.edata+0x34): undefined reference to `beInitStream'
lame_enc_exp.o:fake:(.edata+0x38): undefined reference to `beEncodeChunk'
lame_enc_exp.o:fake:(.edata+0x3c): undefined reference to
`beDeinitStream'
lame_enc_exp.o:fake:(.edata+0x40): undefined reference to `beCloseStream'
lame_enc_exp.o:fake:(.edata+0x44): undefined reference to `beVersion'
lame_enc_exp.o:fake:(.edata+0x48): undefined reference to
`beWriteVBRHeader'
lame_enc_exp.o:fake:(.edata+0x4c): undefined reference to
`beEncodeChunkFloatS16NI'
lame_enc_exp.o:fake:(.edata+0x50): undefined reference to `beFlushNoGap'
lame_enc_exp.o:fake:(.edata+0x54): undefined reference to
`beWriteInfoTag'
collect2: ld returned 1 exit status
make: *** [lame_enc.dll] Error 1
----------------------------------------------------------------------
Comment By: Robert Hegemann (robert)
Date: 2010-12-07 14:20
Message:
As the original author said in the file "Makefile.mingw32", you have to
build "./libmp3lame/libmp3lame.a" first. Did you do that ?
----------------------------------------------------------------------
Comment By: bob0r (bob0r)
Date: 2010-12-06 18:52
Message:
It's not fixed.
----------------------------------------------------------------------
Comment By: bob0r (bob0r)
Date: 2010-12-05 13:36
Message:
fresh cvs checkout
cvs -z3 -d:pserver:anonymous@... co -P
lame
configure --enable-expopt=full
make
cd Dll
make -f Makefile.mingw32
$ make -f Makefile.mingw32
g++ -I../include -I../libmp3lame -c BladeMP3EncDLL.c -o BladeMP3EncDLL.o
In file included from BladeMP3EncDLL.c:24:
BladeMP3EncDLL.h:198: warning: 'packed' attribute ignored
BladeMP3EncDLL.h:230: warning: 'packed' attribute ignored
dlltool --input-def BladeMP3EncDLL.def --output-lib liblame_enc.a
--output-exp lame_enc_exp.o --dllname lame_enc BladeMP3EncDLL.o
g++ -L../libmp3lame -o lame_enc.dll -mdll -s BladeMP3EncDLL.o
lame_enc_exp.o -lmp3lame
f:/msys/1.0/local/bin/../lib/gcc/i686-pc-mingw32/4.4.4/../../../../i686-pc-mingw32/bin/ld.exe:
cannot find -lmp3lame
collect2: ld returned 1 exit status
make: *** [lame_enc.dll] Error 1
----------------------------------------------------------------------
Comment By: Robert Hegemann (robert)
Date: 2010-12-05 13:30
Message:
Ok I see, you are compiling the C code as C++ code. CVS version should be
working now.
----------------------------------------------------------------------
Comment By: bob0r (bob0r)
Date: 2010-12-05 11:13
Message:
did cvs up, configure, make clean, make
cd Dll:
$ make -f Makefile.mingw32
g++ -I../include -I../libmp3lame -c BladeMP3EncDLL.c -o BladeMP3EncDLL.o
In file included from BladeMP3EncDLL.c:24:
BladeMP3EncDLL.h:198: warning: 'packed' attribute ignored
BladeMP3EncDLL.h:230: warning: 'packed' attribute ignored
BladeMP3EncDLL.c: In function 'BOOL DllMain(void*, DWORD, void*)':
BladeMP3EncDLL.c:912: error: invalid conversion from 'void*' to
'HINSTANCE__*'
make: *** [BladeMP3EncDLL.o] Error 1
Guess not :-)
GCC: gcc.exe (GCC) 4.4.4
----------------------------------------------------------------------
Comment By: Robert Hegemann (robert)
Date: 2010-12-04 13:58
Message:
It seems your compiler is rather strict these days. I've committed a patch,
please report back, if it's working now.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100290&aid=3125235&group_id=290
|