I recently tried following CodingMadeEasy's tutorials, and after getting to the sound effect tutorial, this is what I have.
I get 50 errors from this code. All of them begin with 'vorbis_'. Why do these errors appear, and how do I resolve them? I use CodeBlocks. I also tried the code from the allegro wiki audio tutorial, with the same results.
Sorry in advance for any newb errors in the code. Hehe.
Post your errors please.
Gonna make a wild guess and say you used ogg but you didn't link ogg and vorbis during the linking stage. Also, post your errors.
Sorry about that. Here.
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_packet_blocksize'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_comment_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_idheader'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_comment_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_headerin'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_headerin'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_comment_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_idheader'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_comment_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_headerin'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_headerin'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_halfrate_p'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_blockin'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_read'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_lapout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_dsp_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_halfrate_p'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_comment_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_blockin'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_packet_blocksize'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_blocksize'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_halfrate_p'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_read'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_trackonly'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_blockin'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_dsp_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_restart'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_packet_blocksize'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_dsp_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_dsp_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_dsp_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_dsp_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_dsp_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_restart'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_init'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_halfrate_p'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_blocksize'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_window'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_blocksize'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_window'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_lapout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_halfrate_p'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_blocksize'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_window'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_blocksize'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_window'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_lapout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_dsp_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_comment_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_halfrate'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_dsp_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_halfrate'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_dsp_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_block_clear'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_read'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_halfrate_p'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_halfrate_p'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_read'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_pcmout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_halfrate_p'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_halfrate_p'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_blocksize'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_info_blocksize'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_window'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_window'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_lapout'|
C:\MinGW\lib\libvorbisfile-1.3.2-static-md.a(vorbisfile.o):vorbisfile.c|| undefined reference to `vorbis_synthesis_halfrate_p'|
||=== Build finished: 110 errors, 0 warnings (0 minutes, 4 seconds) ===|
Sorry for the wall of text.
Edgar was right, you didn't tell the linker to link vorbis.
EDIT: that meaning libvorbis since you're using GCC, you should add the library under linker's options
So how do I do that?
EDIT: Ok, saw your edit. But it appears that I have linked it? I have static linked all the files that were stated on the CodeBlocks Allegro tutorial.
Somehow you're mixing versions of libvorbis. They're getting in each other's way. Your versions of libvorbis are different than the ones the precompiled binary libvorbis is using.
Ah, you're right. I checked the tutorial one more time, and linked the ONLY the shown files, I got lazy and just linked any files that had 'static' written in it. But I now get the following errors:
C:\MinGW\lib\liballegro_dialog-5.0.10-static-mt.a(win_dialog.o):win_dialog.c|| undefined reference to `GetSaveFileNameA@4'|
C:\MinGW\lib\liballegro_dialog-5.0.10-static-mt.a(win_dialog.o):win_dialog.c|| undefined reference to `GetOpenFileNameA@4'|
C:\MinGW\lib\liballegro_dialog-5.0.10-static-mt.a(win_dialog.o):win_dialog.c|| undefined reference to `CreateFontA@56'|
C:\MinGW\lib\liballegro_dialog-5.0.10-static-mt.a(win_dialog.o):win_dialog.c|| undefined reference to `DeleteObject@4'|
C:\MinGW\lib\liballegro_dialog-5.0.10-static-mt.a(win_dialog.o):win_dialog.c|| undefined reference to `GetStockObject@4'|
||=== Build finished: 5 errors, 0 warnings (0 minutes, 0 seconds) ===|
I have a feeling that I made a similar mistake. I didn't get these errors before, when I had linked every static link file.
EDIT: WHY DO I HAVE A LACK OF CORRECT READING OF ENGLISH... I put the libraries in the wrong order.