Hello,
I'm a new user and am having trouble building the core and examples. 1) I am using VC++ Express on WinXP. 2) I downloaded OSG_OP_OT-1.2.zip and OpenSceneGraph-Data-1.1.zip 3) I built (in this order): OpenThreads, Producer, osg Core&Examples (the whole solution) 4) The first 2 seemed to build correctly. OpenThreads project generated OpenThreadsWin32d_s.lib in /lib/win32, and Producer project generated Producerd_s.lib in its /lib/win32. 5) Attempt to build Core and "everything else" generated a bunch of errors. On my first try, I (mistakenly) tried to build osgCore before OThreads and Producer, which resulted in a bunch of linker errors, something to the effect of "LINK error: can't find OpenThreadsWin32d.lib" (the osg solution build setting is "debug|static", btw). I then read the README.txt and tried again, building OT and P first. The resulting libraries have different names than the LINK error. (extra "_s"). So I created copies of both libraries without the "_s" and tried a clean build. Now I have the following set of errors: A) compile errors: can't find the following .h files: 'gdal_priv.h': No such file or directory 'tiffio.h': No such file or directory 'zlib.h': No such file or directory 'jpeglib.h': No such file or directory 'gif_lib.h': No such file or directory 'gdal_priv.h': No such file or directory 'ft2build.h': No such file or directory 'GL/glut.h': No such file or directory I searched for some of these files with WinExp search function. couldn't find them. B) Linker errors: 1>------ Build started: Project: Core osgIntrospection, Configuration: Debug Win32 ------ 1>Linking... 2>------ Build started: Project: Core osgTerrain, Configuration: Debug Static Win32 ------ 2>Compiling... 2>DataSet.cpp 1> Creating library ../../lib/Win32/osgIntrospectiond.lib and object ../../lib/Win32/osgIntrospectiond.exp 1>Reflection.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall OpenThreads::Mutex::Mutex(void)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]) referenced in function "private: static struct osgIntrospection::Reflection::StaticData & __cdecl osgIntrospection::Reflection::getOrCreateStaticData(void)" ([EMAIL PROTECTED]@osgIntrospection@@[EMAIL PROTECTED]@XZ) 1>Reflection.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall OpenThreads::Mutex::~Mutex(void)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]) referenced in function "void __cdecl `private: static struct Reflection::getOrCreateStaticData::StaticData & __cdecl osgIntrospection::Reflection::getOrCreateStaticData(void)'::`2'::`dynamic atexit destructor for 'access_mtx''(void)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@@CAAA [EMAIL PROTECTED]@[EMAIL PROTECTED]) 1>.\../../bin/Win32/osgIntrospectiond.dll : fatal error LNK1120: 2 unresolved externals 1>Build log was saved at "file://c:\OSG_OP_OT-1.2\OpenSceneGraph\VisualStudio\osgIntrospection\Win32\ Debug\BuildLog.htm" 1>Core osgIntrospection - 3 error(s), 0 warning(s) And. 9>------ Build started: Project: Example osgwindows, Configuration: Debug Win32 ------ 10>------ Build started: Project: Example osgvolume, Configuration: Debug Win32 ------ 9>Linking... 10>Linking... 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > &))" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@@@std@@[EMAIL PROTECTED]@AAV01@@Z@ Z) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@@[EMAIL PROTECTED]@@Z) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL PROTECTED]@2@@std@@[EMAIL PROTECTED]@Z) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL PROTECTED]@2@@std@@[EMAIL PROTECTED]) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@std@@@std@@[EMAIL PROTECTED]) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: int __thiscall std::ios_base::width(int)" ([EMAIL PROTECTED]@std@@[EMAIL PROTECTED]) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@std@@@std@@[EMAIL PROTECTED]) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL PROTECTED]) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: static int __cdecl std::char_traits<char>::eof(void)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@@SAHXZ) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@std@@@std@@[EMAIL PROTECTED]) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const " ([EMAIL PROTECTED]@[EMAIL PROTECTED]@std@@@std@@[EMAIL PROTECTED] [EMAIL PROTECTED]@std@@@[EMAIL PROTECTED]) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const " ([EMAIL PROTECTED]@[EMAIL PROTECTED]@std@@@std@@QBEDXZ) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: int __thiscall std::ios_base::flags(void)const " ([EMAIL PROTECTED]@std@@QBEHXZ) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: int __thiscall std::ios_base::width(void)const " ([EMAIL PROTECTED]@std@@QBEHXZ) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL PROTECTED]) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@std@@@std@@[EMAIL PROTECTED]) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const " ([EMAIL PROTECTED]@[EMAIL PROTECTED]@std@@@std@@[EMAIL PROTECTED] [EMAIL PROTECTED]@std@@@[EMAIL PROTECTED]) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: bool __thiscall std::ios_base::good(void)const " ([EMAIL PROTECTED]@std@@QBE_NXZ) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@std@@@std@@QAEXXZ) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Lock(void)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@std@@@std@@QAEXXZ) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Unlock(void)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@std@@@std@@QAEXXZ) already defined in OpenThreadsWin32d.lib(Win32Thread.obj) 9>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" ([EMAIL PROTECTED]@std@@[EMAIL PROTECTED]@XZ) already defined in msvcprtd.lib(MSVCP80D.dll) 9>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)" ([EMAIL PROTECTED]@std@@[EMAIL PROTECTED]@XZ) already defined in msvcprtd.lib(MSVCP80D.dll) 9>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" ([EMAIL PROTECTED]@[EMAIL PROTECTED]@@CAXPAV123@@Z) already defined in msvcprtd.lib(MSVCP80D.dll) 9>libcpmtd.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,char const *)" ([EMAIL PROTECTED]@std@@[EMAIL PROTECTED]@Z) already defined in msvcprtd.lib(MSVCP80D.dll) 9>libcpmtd.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" ([EMAIL PROTECTED]@std@@SAXPAV12@@Z) already defined in msvcprtd.lib(MSVCP80D.dll) 9>libcpmtd.lib(ios.obj) : error LNK2005: "private: static void __cdecl std::ios_base::_Ios_base_dtor(class std::ios_base *)" ([EMAIL PROTECTED]@std@@CAXPAV12@@Z) already defined in msvcprtd.lib(MSVCP80D.dll) 9>libcpmtd.lib(ios.obj) : error LNK2005: "public: static void __cdecl std::ios_base::_Addstd(class std::ios_base *)" ([EMAIL PROTECTED]@std@@SAXPAV12@@Z) already defined in msvcprtd.lib(MSVCP80D.dll) 9>libcpmtd.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]@Z) already defined in msvcprtd.lib(MSVCP80D.dll) 9>libcpmtd.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]) already defined in msvcprtd.lib(MSVCP80D.dll) 9>libcpmtd.lib(xdebug.obj) : error LNK2005: "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" ([EMAIL PROTECTED]@std@@[EMAIL PROTECTED]) already defined in msvcprtd.lib(MSVCP80D.dll) 9>libcpmtd.lib(xdebug.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" ([EMAIL PROTECTED]@std@@[EMAIL PROTECTED]) already defined in msvcprtd.lib(MSVCP80D.dll) 9>libcpmtd.lib(xdebug.obj) : error LNK2005: "struct std::_DebugHeapTag_t const & __cdecl std::_DebugHeapTag_func(void)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]@XZ) already defined in msvcprtd.lib(MSVCP80D.dll) 9>LIBCMTD.lib(setlocal.obj) : error LNK2005: __configthreadlocale already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(dbgheap.obj) : error LNK2005: _free already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: __thiscall std::exception::exception(void)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]) already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: __thiscall std::exception::exception(char const * const &)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]@Z) already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: __thiscall std::exception::exception(class std::exception const &)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z) already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual __thiscall std::exception::~exception(void)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]) already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual char const * __thiscall std::exception::what(void)const " ([EMAIL PROTECTED]@std@@UBEPBDXZ) already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: __thiscall std::bad_cast::bad_cast(char const *)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]@Z) already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: __thiscall std::bad_cast::bad_cast(class std::bad_cast const &)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]@@Z) already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(stdexcpt.obj) : error LNK2005: "public: virtual __thiscall std::bad_cast::~bad_cast(void)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]) already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(_file.obj) : error LNK2005: ___iob_func already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(lconv.obj) : error LNK2005: _localeconv already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(tidtable.obj) : error LNK2005: __encode_pointer already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(tidtable.obj) : error LNK2005: __decode_pointer already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __exit already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __cexit already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __amsg_exit already defined in MSVCRTD.lib(MSVCR80D.dll) 9>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __initterm_e already defined in MSVCRTD.lib(MSVCR80D.dll) 9>Build log was saved at "file://c:\OSG_OP_OT-1.2\OpenSceneGraph\VisualStudio\examples\osgwindows\Win 32\Debug\BuildLog.htm" 9>Example osgwindows - 54 error(s), 0 warning(s) 10>Build log was saved at "file://c:\OSG_OP_OT-1.2\OpenSceneGraph\VisualStudio\examples\osgvolume\Win3 2\Debug\BuildLog.htm" 10>Example osgvolume - 0 error(s), 0 warning(s) Seems like there are unresolved Mutex:: function calls and collisions between different DLLs/Libraries? This kind of stuff is actually my weakest point as a programmer, I could really use some help. Thanks! -Yegor
_______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
