Game Development Community

HEAD not compiling on VC++.NET

by Robert Taylor · in Technical Issues · 09/26/2003 (11:46 pm) · 5 replies

This is because it can't find external functions for the ogg vorbis library. I've included "ogg_static.lib" and "vorbis_static_mt.lib" into the linker input list. But it still can't find these external functions. I then downloaded the Ogg Vorbis SDK and compiled them using VC++.NET with no problems. copied these libraries over, and included all of them (the static debug ones). Still didn't work.

Here is the error messages on linking:

Torque Demo error LNK2019: unresolved external symbol "public: static class AudioStreamSource * __cdecl AudioStreamSourceFactory::getNewInstance(char const *)" (?getNewInstance@AudioStreamSourceFactory@@SAPAVAudioStreamSource@@PBD@Z) referenced in function "class AudioStreamSource * __cdecl createStreamingSource(char const *)" (?createStreamingSource@@YAPAVAudioStreamSource@@PBD@Z)
Torque Demo error LNK2019: unresolved external symbol "public: int __thiscall OggVorbisFile::ov_clear(void)" (?ov_clear@OggVorbisFile@@QAEHXZ) referenced in function "private: bool __thiscall AudioBuffer::readOgg(class ResourceObject *)" (?readOgg@AudioBuffer@@AAE_NPAVResourceObject@@@Z)
Torque Demo error LNK2019: unresolved external symbol "public: __int64 __thiscall OggVorbisFile::ov_pcm_total(int)" (?ov_pcm_total@OggVorbisFile@@QAE_JH@Z) referenced in function "private: bool __thiscall AudioBuffer::readOgg(class ResourceObject *)" (?readOgg@AudioBuffer@@AAE_NPAVResourceObject@@@Z)
Torque Demo error LNK2019: unresolved external symbol "public: struct vorbis_info * __thiscall OggVorbisFile::ov_info(int)" (?ov_info@OggVorbisFile@@QAEPAUvorbis_info@@H@Z) referenced in function "private: bool __thiscall AudioBuffer::readOgg(class ResourceObject *)" (?readOgg@AudioBuffer@@AAE_NPAVResourceObject@@@Z)
Torque Demo error LNK2019: unresolved external symbol "public: int __thiscall OggVorbisFile::ov_open(class Stream *,char *,long)" (?ov_open@OggVorbisFile@@QAEHPAVStream@@PADJ@Z) referenced in function "private: bool __thiscall AudioBuffer::readOgg(class ResourceObject *)" (?readOgg@AudioBuffer@@AAE_NPAVResourceObject@@@Z)
Torque Demo error LNK2019: unresolved external symbol "public: __thiscall OggVorbisFile::~OggVorbisFile(void)" (??1OggVorbisFile@@QAE@XZ) referenced in function "private: bool __thiscall AudioBuffer::readOgg(class ResourceObject *)" (?readOgg@AudioBuffer@@AAE_NPAVResourceObject@@@Z)
Torque Demo error LNK2019: unresolved external symbol "public: __thiscall OggVorbisFile::OggVorbisFile(void)" (??0OggVorbisFile@@QAE@XZ) referenced in function "private: bool __thiscall AudioBuffer::readOgg(class ResourceObject *)" (?readOgg@AudioBuffer@@AAE_NPAVResourceObject@@@Z)
Torque Demo error LNK2019: unresolved external symbol "public: long __thiscall OggVorbisFile::ov_read(char *,int,int,int *)" (?ov_read@OggVorbisFile@@QAEJPADHHPAH@Z) referenced in function "private: long __thiscall AudioBuffer::oggRead(class OggVorbisFile *,char *,int,int,int *)" (?oggRead@AudioBuffer@@AAEJPAVOggVorbisFile@@PADHHPAH@Z)
Torque Demo fatal error LNK1120: 8 unresolved externals

#1
09/26/2003 (11:51 pm)
This needs to be moved to the private Torque SDK Forums.
#2
09/28/2003 (9:07 pm)
I am having the same problem migrating to .NET.
#3
09/28/2003 (9:14 pm)
The VC7 project files haven't been properly updated yet, use the VC6 project files and you will be fine. In the future please post this kind of quesiton in the private forums.
#4
09/28/2003 (9:50 pm)
I've used the VC6. It doesn't work either. I get the following error:

texture2bm8 error LNK2005: __dosmaperr already defined in LIBCD.lib(dosmap.obj)
texture2bm8 error LNK2005: __getmbcp already defined in LIBCD.lib(mbctype.obj)
texture2bm8 error LNK2005: __setmbcp already defined in LIBCD.lib(mbctype.obj)
texture2bm8 error LNK2005: ___initmbctable already defined in LIBCD.lib(mbctype.obj)
#5
09/28/2003 (9:56 pm)
Figured it out. I went to "Properties" for "Torque Demo". Then went to "Input" under "Linker" and removed "comdlg32.lib" from the list of libraries. Then it linked okay with the VC6 project files.