Hi everyone, this is my first post on the forum, the community seems pretty helpful so I figured I’d come here for help .
I started using Panda3D today. Everything runs fine, I was able to run the code found in the manual without any problem.
However, when I compile, I always get a slew of dll-related warnings (no error). All C4506, C4251 and C4275.
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(46) : warning C4506: no definition for inline function 'BitMask<WType,nbits> BitMask<WType,nbits>::all_on(void)'
1> with
1> [
1> WType=PN_uint32,
1> nbits=32
1> ]
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(439) : warning C4251: 'std::_Container_base_aux_alloc_real<_Alloc>::_Alaux' : class 'pallocator_array<Type>' needs to have dll-interface to be used by clients of class 'std::_Container_base_aux_alloc_real<_Alloc>'
1> with
1> [
1> _Alloc=pallocator_array<GraphicsWindowInputDevice>
1> ]
1> and
1> [
1> Type=std::_Aux_cont
1> ]
1> and
1> [
1> _Alloc=pallocator_array<GraphicsWindowInputDevice>
1> ]
1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(439) : warning C4275: non dll-interface class 'std::_Container_base_aux' used as base for dll-interface class 'std::_Container_base_aux_alloc_real<_Alloc>'
1> with
1> [
1> _Alloc=pallocator_array<GraphicsWindowInputDevice>
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xutility(377) : see declaration of 'std::_Container_base_aux'
1> d:\librairies\panda3d-1.7.0\include\vector_src.h(64) : see reference to class template instantiation 'std::vector<_Ty,_Ax>' being compiled
1> with
1> [
1> _Ty=GraphicsWindowInputDevice,
1> _Ax=pallocator_array<GraphicsWindowInputDevice>
1> ]
(I get 10-15 of them every time I include pandaFramework.h or pandaSystem.h somewhere.)
Everything runs fine if I ignore them but it’s a bit of a let down to see these warnings appear everywhere I include panda headers in my code. I’m having a hard time finding real warnings and errors through the debug log with all these warnings popping up.
I searched around in the forum but the only thing I could find was someone saying C4275s were “normal” and should be ignored.
Is there a way to truly eliminate these warnings and are they really “normal”? If they are normal, do you guys just ignore them or globally disable them?
I’m on Win7, Visual Studio 2008 with the latest Panda SDK (1.7.0). I’m aware the C4251 and C4275 can be safely ignored since they’re from std classes I’m a bit worried about the C4506 ones. I mostly want to make sure I’m not doing something wrong and that other people have these warnings .
Many thanks!