Click here to Skip to main content
15,445,066 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
I try to compile the code that I found.
At first I downloaded the archive with lame sources from here: http://sourceforge.net/projects/lame/.
Then copied the lame.h-file from folder lame-3.99.5/include to folder with my project.
Next I included the header:
C++
# include <lame.h>

When I try to compile my code, compiler on this line:
C++
lame_t lame = lame_init ();

throw error:

[ilink32 Error] Error: Unresolved external '_lame_init' referenced from

My question is: how can I fix it?
P.S.: I have not found any dll's and any .lib's inside the archive.
Posted
Comments
enhzflep 7-Dec-13 10:55am     CRLF
You have to build the lame library from the sources - i.e, you have to create the static or dynamic lame library yourself. _Then_ you can include the .h file and link the library you created. A quick look gives me the impression that it would be a rather nasty job to accomplish with Borland's Builder. From a super-quick look, there doesn't appear to be support for your compiler. MinGW is okay, as is MSVC, as is GCC. There's mention of Borland's C compiler in the INSTALL file - though the file is dated 2001, so it wont be for Builder, but rather for TurboC or TurboC++, I suspect. You may be able to find the dll and the static library to link against in order to use said DLL. But, I wouldn't expect it to be an easy or pleasant road to be honest.

I suggest you to simply install lame as codec and using it thisway "indirectly" by win api.
1. Your application is not depended on lame as codec
2.) It works
 
Share this answer
 
v2
Comments
Sergey Alexandrovich Kryukov 7-Dec-13 20:33pm     CRLF
To best of my knowledge, lame as codec does not exist, this is just a utility or library code. Software using lame often includes lame and uses it directly. Maybe you meant something else, as first statement looks contradicting to item #1... By the way, I always advise libav, please see my answer. —SA
[no name] 8-Dec-13 6:10am    
I will search for the link of the codec (hope it still exists). I used Lame codec before about 4 years, and both was available: library to link and codec to install.
Sergey Alexandrovich Kryukov 8-Dec-13 12:25pm     CRLF
You should have had it from 3rd-party. Lame team does not provide compiled code, due to licensing limitation. The use of patented technology allow them to expose source code, but not to provide the compiled product. Existence of such patent absurdities is a real shame and a hassle to progress, in the field of media and many other fields. —SA
[no name] 8-Dec-13 13:02pm     CRLF
Maybe it is a lack of my english or what else. But acm installation of lame still is widely available in www. Can you enlighten me...and pls use easy english. Thanks, Bruno
Sergey Alexandrovich Kryukov 8-Dec-13 14:07pm     CRLF
You are right. All I say is: my advice is to switch to libav/FFmpeg. If you have doubt about any of my expressions in English, please fill free to ask. My English is also by far not perfect; and I don't hesitate to ask help from those who can help. By the way, the characteristic feature of those speaking native English: they tend to ignore such problem and won't suggest any advice on them unless you explicitly ask for help... —SA
I used to use lame for a while, until I realized that it's just not so serious thing. I would advise to use much more advanced open-source library: libavcodec, or FFmpeg which includes libavcodec:
http://en.wikipedia.org/wiki/Libavcodec[^],
http://libav.org/[^],
http://en.wikipedia.org/wiki/Ffmpeg[^],
http://ffmpeg.org/[^].

—SA
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900