Hi Jean, I'm trying to compile the encode.c and or the test programs that are on the site and in libspeex respectively. however, i keep getting some undefined references to the basic speex functions(see compiler log). a query on google showed that this question was posed but no answer given. I traced them down to speex.c. however when i build my project i still get these undefined referneces. I'm currently developing a voip application and i've used portaudio for audio signal capture. they have a basic documentation on compiling for the basic platform, listing the common headers and sourcefiles that are needed. I'm in no way disparaging you guys and the work you've done on speex, but does speex have this? just trying to build a simple test program has been taking me days now. Perhaps a restructuring of the folders in the src download. for example i've noticed the tests programs all in the libspeex folder. maybe a separate folder is in order such as speex\tests, speex\common, and perhaps the headers and source file could be in the same folder ex speex\API. whatever you guys decide i appreciate the work you've done on speex and turned to it because it was cited as a very decent codec specifically for COIP Please let me know what are the common folders to link for an application, and whether or not there is any other documentation about speex i'm missing. thanks. caroundw5h compile log: Compiler: Default compiler Building Makefile: "G:\Code\Projects\X3\X3_TESTS\Makefile.win" Executing make clean rm -f ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o speexTest.exe gcc.exe -c ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.c -o ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o -I"C:/Dev-Cpp/include" gcc.exe ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o -o "speexTest.exe" -L"C:/Dev-Cpp/lib" ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x36):speexTest.c: undefined reference to `speex_nb_mode' ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x3b):speexTest.c: undefined reference to `speex_encoder_init' ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x6b):speexTest.c: undefined reference to `speex_encoder_ctl' ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x96):speexTest.c: undefined reference to `speex_bits_init' ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x118):speexTest.c: undefined reference to `speex_bits_reset' ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x13a):speexTest.c: undefined reference to `speex_encode' ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x15a):speexTest.c: undefined reference to `speex_bits_write' ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x1c9):speexTest.c: undefined reference to `speex_encoder_destroy' ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x1d7):speexTest.c: undefined reference to `speex_bits_destroy' collect2: ld returned 1 exit status make.exe: *** [speexTest.exe] Error 1 Execution terminated --------------------------------- Ahhh...imagining that irresistible "new car" smell? Check outnew cars at Yahoo! Autos. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20070416/bd822d1b/attachment.html
It's not an include file missing. This is a link error. You need to link with libspeex (or whatever it's called when you build it). Jean-Marc Quoting Caroundw5h <caroundw5h@yahoo.com>:> Hi Jean, > > I'm trying to compile the encode.c and or the test programs that are on the > site and in libspeex respectively. however, i keep getting some undefined > references to the basic speex functions(see compiler log). a query on google > showed that this question was posed but no answer given. I traced them down > to speex.c. however when i build my project i still get these undefined > referneces. > > I'm currently developing a voip application and i've used portaudio for audio > signal capture. they have a basic documentation on compiling for the basic > platform, listing the common headers and sourcefiles that are needed. I'm in > no way disparaging you guys and the work you've done on speex, but does speex > have this? just trying to build a simple test program has been taking me days > now. Perhaps a restructuring of the folders in the src download. for example > i've noticed the tests programs all in the libspeex folder. maybe a separate > folder is in order such as speex\tests, speex\common, and perhaps the headers > and source file could be in the same folder ex speex\API. > > whatever you guys decide i appreciate the work you've done on speex and > turned to it because it was cited as a very decent codec specifically for > COIP > > Please let me know what are the common folders to link for an application, > and whether or not there is any other documentation about speex i'm missing. > thanks. > > caroundw5h > > compile log: > > Compiler: Default compiler > Building Makefile: "G:\Code\Projects\X3\X3_TESTS\Makefile.win" > Executing make clean > rm -f ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o speexTest.exe > > gcc.exe -c ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.c -o > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o -I"C:/Dev-Cpp/include" > > gcc.exe ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o -o > "speexTest.exe" -L"C:/Dev-Cpp/lib" > > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x36):speexTest.c: > undefined reference to `speex_nb_mode' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x3b):speexTest.c: > undefined reference to `speex_encoder_init' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x6b):speexTest.c: > undefined reference to `speex_encoder_ctl' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x96):speexTest.c: > undefined reference to `speex_bits_init' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x118):speexTest.c: > undefined reference to `speex_bits_reset' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x13a):speexTest.c: > undefined reference to `speex_encode' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x15a):speexTest.c: > undefined reference to `speex_bits_write' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x1c9):speexTest.c: > undefined reference to `speex_encoder_destroy' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x1d7):speexTest.c: > undefined reference to `speex_bits_destroy' > collect2: ld returned 1 exit status > > make.exe: *** [speexTest.exe] Error 1 > > Execution terminated > > > --------------------------------- > Ahhh...imagining that irresistible "new car" smell? > Check outnew cars at Yahoo! Autos.
sorry i must not have been clear. i know my posting was a little wordy. "whatever its called when you build it" is a little vague. can you clarify. i was under the impression speex was done in clean C and could be built from just the source files downloaded regardless of platform. I am running on windows xp using devc++ ide which uses gcc and mingw underneath. do i need to link with a .lib file? if so where is it located? i checked in win32 folder and all i found were .dsp, dsw and .def files which are not recognised. what are needed are a or .lib files. if i don't need to link with a windows specific .lib or .a file. then what is the source files for these functions. i traced the program state and found the calls were made from speex.h and the speex.c and bits.c had the definitions. however including speex.c and bits.c in the project still gave linker errors. where are the source files? thanks, caroundw5h Jean-Marc Valin <Jean-Marc.Valin@USherbrooke.ca> wrote: It's not an include file missing. This is a link error. You need to link with libspeex (or whatever it's called when you build it). Jean-Marc Quoting Caroundw5h :> Hi Jean, > > I'm trying to compile the encode.c and or the test programs that are on the > site and in libspeex respectively. however, i keep getting some undefined > references to the basic speex functions(see compiler log). a query on google > showed that this question was posed but no answer given. I traced them down > to speex.c. however when i build my project i still get these undefined > referneces. > > I'm currently developing a voip application and i've used portaudio for audio > signal capture. they have a basic documentation on compiling for the basic > platform, listing the common headers and sourcefiles that are needed. I'm in > no way disparaging you guys and the work you've done on speex, but does speex > have this? just trying to build a simple test program has been taking me days > now. Perhaps a restructuring of the folders in the src download. for example > i've noticed the tests programs all in the libspeex folder. maybe a separate > folder is in order such as speex\tests, speex\common, and perhaps the headers > and source file could be in the same folder ex speex\API. > > whatever you guys decide i appreciate the work you've done on speex and > turned to it because it was cited as a very decent codec specifically for > COIP > > Please let me know what are the common folders to link for an application, > and whether or not there is any other documentation about speex i'm missing. > thanks. > > caroundw5h > > compile log: > > Compiler: Default compiler > Building Makefile: "G:\Code\Projects\X3\X3_TESTS\Makefile.win" > Executing make clean > rm -f ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o speexTest.exe > > gcc.exe -c ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.c -o > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o -I"C:/Dev-Cpp/include" > > gcc.exe ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o -o > "speexTest.exe" -L"C:/Dev-Cpp/lib" > > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x36):speexTest.c: > undefined reference to `speex_nb_mode' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x3b):speexTest.c: > undefined reference to `speex_encoder_init' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x6b):speexTest.c: > undefined reference to `speex_encoder_ctl' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x96):speexTest.c: > undefined reference to `speex_bits_init' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x118):speexTest.c: > undefined reference to `speex_bits_reset' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x13a):speexTest.c: > undefined reference to `speex_encode' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x15a):speexTest.c: > undefined reference to `speex_bits_write' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x1c9):speexTest.c: > undefined reference to `speex_encoder_destroy' > ../X3_DEPENDANTS/speex_1.2beta1/libspeex/speexTest.o(.text+0x1d7):speexTest.c: > undefined reference to `speex_bits_destroy' > collect2: ld returned 1 exit status > > make.exe: *** [speexTest.exe] Error 1 > > Execution terminated > > > --------------------------------- > Ahhh...imagining that irresistible "new car" smell? > Check outnew cars at Yahoo! Autos.--------------------------------- Ahhh...imagining that irresistible "new car" smell? Check outnew cars at Yahoo! Autos. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20070418/ce70ebcd/attachment.htm