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/

Reply via email to