Q: Unresolved external symbols compiling in Visual Studio 7.1
The following are generated as linking errors when attempting to compile the samples in Visual Studio 7.1 (.Net 2003)
Juggler.lib(vjConfigChunkDB.obj) : error LNK2019: unresolved external symbol "struct ''iobuf * '''''cdecl std::''Fiopen(char const ''',int)" (?_Fiopen@std@@YAPAU_iobuf@@PBDH@Z) referenced in function "public: class std::basic_filebuf<char,struct std::char_traits<char> > ''' '''''thiscall std::basic_filebuf<char,struct std::char_traits<char> >::open(char const *,int)" (?open@?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PBDH@Z) Juggler.lib(vjChunkDescDB.obj) : error LNK2001: unresolved external symbol "struct ''iobuf * ''_cdecl std::_Fiopen(char const *,int)" (?_Fiopen@std@@YAPAU_iobuf@@PBDH@Z) Juggler.lib(vjConnect.obj) : error LNK2001: unresolved external symbol "struct ''iobuf * ''_cdecl std::_Fiopen(char const *,int)" (?_Fiopen@std@@YAPAU_iobuf@@PBDH@Z) Juggler.lib(vjSimGloveGesture.obj) : error LNK2001: unresolved external symbol "struct ''iobuf * ''_cdecl std::_Fiopen(char const *,int)" (?_Fiopen@std@@YAPAU_iobuf@@PBDH@Z)
They appear to be related to file streams but I can't figure out for sure. Are there libraries I'm forgetting to include? What do I have to do to get rid of these???
A: Make sure the compiler used to build VR Juggler matches the version used to build the application.
There are incompatibilities between Visual C++ 7.0 (.NET 2002) and 7.1 (.NET 2003), and it is best if the version of the compiler used to build the library matches the version used to build the application. We provide pre-compiled builds of VR Juggler (all recent releases) for both Visual C++ 7.0 and 7.1.
Back to: LiveFaq
