Argh! Errors about Ambugious Symbols!

danharibo

10-03-2007 15:57:12

------ Build started: Project: OA, Configuration: Debug Win32 ------
Compiling...
BaseApplication.cpp
NPC.cpp
OA.cpp
c:\program files\ageia technologies\ageia physx sdk\v2.6.2\sdks\nxcharacter\include\controllermanager.h(49) : error C2872: 'Controller' : ambiguous symbol
could be 'c:\program files\ageia technologies\ageia physx sdk\v2.6.2\sdks\nxcharacter\include\controllermanager.h(15) : Controller'
or 'c:\ogresdk\include\ogrecontroller.h(132) : Ogre::Controller'
c:\program files\ageia technologies\ageia physx sdk\v2.6.2\sdks\nxcharacter\include\controllermanager.h(80) : error C2872: 'Controller' : ambiguous symbol
could be 'c:\program files\ageia technologies\ageia physx sdk\v2.6.2\sdks\nxcharacter\include\controllermanager.h(15) : Controller'
or 'c:\ogresdk\include\ogrecontroller.h(132) : Ogre::Controller'
c:\program files\ageia technologies\ageia physx sdk\v2.6.2\sdks\nxcharacter\include\controllermanager.h(90) : error C2872: 'Controller' : ambiguous symbol
could be 'c:\program files\ageia technologies\ageia physx sdk\v2.6.2\sdks\nxcharacter\include\controllermanager.h(15) : Controller'
or 'c:\ogresdk\include\ogrecontroller.h(132) : Ogre::Controller'
Generating Code...
Build log was saved at "file://c:\Documents and Settings\Dan\My Documents\Visual Studio 2005\Projects\OpAs\OA\OA\obj\Debug\BuildLog.htm"
OA - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

What? This file doesn't even include ogre.h!

Grom

10-03-2007 17:58:18

try commenting out the controller stuff

danharibo

10-03-2007 18:28:28

try commenting out the controller stuffwouldn't be the cleverest of moves.

betajaen

10-03-2007 18:31:02

Or Mr Haribo, you could use PhysX 2.7.0

danharibo

10-03-2007 18:38:02

------ Build started: Project: OA, Configuration: Debug Win32 ------
Compiling...
BaseApplication.cpp
NPC.cpp
c:\ogresdk\nxogre\include\nxogre_stable.h(28) : error C2371: 'NxControllerManager' : redefinition; different basic types
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(31) : see declaration of 'NxControllerManager'
c:\ogresdk\nxogre\include\nxogre_includes.h(53) : error C2371: 'NxControllerManager' : redefinition; different basic types
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(31) : see declaration of 'NxControllerManager'
c:\ogresdk\nxogre\include\nxogre_includes.h(285) : error C2259: 'NxControllerManager' : cannot instantiate abstract class
due to following members:
'NxU32 NxControllerManager::getNbControllers(void) const' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(38) : see declaration of 'NxControllerManager::getNbControllers'
'NxController *NxControllerManager::getController(NxU32)' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(46) : see declaration of 'NxControllerManager::getController'
'NxController *NxControllerManager::createController(NxScene *,const NxControllerDesc &)' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(57) : see declaration of 'NxControllerManager::createController'
'void NxControllerManager::releaseController(NxController &)' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(66) : see declaration of 'NxControllerManager::releaseController'
'void NxControllerManager::purgeControllers(void)' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(71) : see declaration of 'NxControllerManager::purgeControllers'
'void NxControllerManager::updateControllers(void)' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(76) : see declaration of 'NxControllerManager::updateControllers'
'void NxControllerManager::release(void)' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(83) : see declaration of 'NxControllerManager::release'
c:\ogresdk\nxogre\include\nxogre_includes.h(285) : error C2248: 'NxControllerManager::NxControllerManager' : cannot access protected member declared in class 'NxControllerManager'
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(79) : see declaration of 'NxControllerManager::NxControllerManager'
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(31) : see declaration of 'NxControllerManager'
c:\ogresdk\nxogre\include\nxogre_includes.h(285) : error C2248: 'NxControllerManager::~NxControllerManager' : cannot access protected member declared in class 'NxControllerManager'
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(80) : see declaration of 'NxControllerManager::~NxControllerManager'
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(31) : see declaration of 'NxControllerManager'
OA.cpp
c:\ogresdk\nxogre\include\nxogre_stable.h(28) : error C2371: 'NxControllerManager' : redefinition; different basic types
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(31) : see declaration of 'NxControllerManager'
c:\ogresdk\nxogre\include\nxogre_includes.h(53) : error C2371: 'NxControllerManager' : redefinition; different basic types
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(31) : see declaration of 'NxControllerManager'
c:\ogresdk\nxogre\include\nxogre_includes.h(285) : error C2259: 'NxControllerManager' : cannot instantiate abstract class
due to following members:
'NxU32 NxControllerManager::getNbControllers(void) const' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(38) : see declaration of 'NxControllerManager::getNbControllers'
'NxController *NxControllerManager::getController(NxU32)' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(46) : see declaration of 'NxControllerManager::getController'
'NxController *NxControllerManager::createController(NxScene *,const NxControllerDesc &)' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(57) : see declaration of 'NxControllerManager::createController'
'void NxControllerManager::releaseController(NxController &)' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(66) : see declaration of 'NxControllerManager::releaseController'
'void NxControllerManager::purgeControllers(void)' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(71) : see declaration of 'NxControllerManager::purgeControllers'
'void NxControllerManager::updateControllers(void)' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(76) : see declaration of 'NxControllerManager::updateControllers'
'void NxControllerManager::release(void)' : is abstract
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(83) : see declaration of 'NxControllerManager::release'
c:\ogresdk\nxogre\include\nxogre_includes.h(285) : error C2248: 'NxControllerManager::NxControllerManager' : cannot access protected member declared in class 'NxControllerManager'
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(79) : see declaration of 'NxControllerManager::NxControllerManager'
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(31) : see declaration of 'NxControllerManager'
c:\ogresdk\nxogre\include\nxogre_includes.h(285) : error C2248: 'NxControllerManager::~NxControllerManager' : cannot access protected member declared in class 'NxControllerManager'
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(80) : see declaration of 'NxControllerManager::~NxControllerManager'
c:\program files\ageia technologies\ageia physx sdk\v2.7.0\sdks\nxcharacter\include\nxcontrollermanager.h(31) : see declaration of 'NxControllerManager'
Generating Code...
Build log was saved at "file://c:\Documents and Settings\Dan\My Documents\Visual Studio 2005\Projects\OpAs\OA\OA\obj\Debug\BuildLog.htm"
OA - 10 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

D=

betajaen

10-03-2007 18:39:21

Versions?

danharibo

10-03-2007 18:43:37

Ogre: Eihort
Physx: 2.7.0
NxOgre: .4rc3

betajaen

10-03-2007 18:46:25

You need:

Ogre: Eihort
PhysX: 2.6.2
NxOgre: .4rc3

danharibo

10-03-2007 18:47:44

You need:

Ogre: Eihort
PhysX: 2.6.2
NxOgre: .4rc3
That's what i was using at first.

betajaen

10-03-2007 18:53:18

Ahh did you include "NxOgre.h" before any Ogre headers? That usually sparks it off.

danharibo

10-03-2007 18:57:17

Ahh did you include "NxOgre.h" before any Ogre headers? That usually sparks it off.Yes, i swaped them round, and now i get this:
------ Build started: Project: OA, Configuration: Debug Win32 ------
Compiling...
BaseApplication.cpp
NPC.cpp
OA.cpp
c:\program files\ageia technologies\ageia physx sdk\v2.6.2\sdks\nxcharacter\include\controllermanager.h(49) : error C2872: 'Controller' : ambiguous symbol
could be 'c:\program files\ageia technologies\ageia physx sdk\v2.6.2\sdks\nxcharacter\include\controllermanager.h(15) : Controller'
or 'c:\ogresdk\include\ogrecontroller.h(132) : Ogre::Controller'
c:\program files\ageia technologies\ageia physx sdk\v2.6.2\sdks\nxcharacter\include\controllermanager.h(80) : error C2872: 'Controller' : ambiguous symbol
could be 'c:\program files\ageia technologies\ageia physx sdk\v2.6.2\sdks\nxcharacter\include\controllermanager.h(15) : Controller'
or 'c:\ogresdk\include\ogrecontroller.h(132) : Ogre::Controller'
c:\program files\ageia technologies\ageia physx sdk\v2.6.2\sdks\nxcharacter\include\controllermanager.h(90) : error C2872: 'Controller' : ambiguous symbol
could be 'c:\program files\ageia technologies\ageia physx sdk\v2.6.2\sdks\nxcharacter\include\controllermanager.h(15) : Controller'
or 'c:\ogresdk\include\ogrecontroller.h(132) : Ogre::Controller'
Generating Code...
Build log was saved at "file://c:\Documents and Settings\Dan\My Documents\Visual Studio 2005\Projects\OpAs\OA\OA\obj\Debug\BuildLog.htm"
OA - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

HexiDave

10-03-2007 19:03:09

In OA.cpp/.h check your for "using namespace" - I think you might be using all the name-spaces and getting collisions (in physics code, no less!)

danharibo

10-03-2007 19:04:34

#pragma once
#include <NxOgre.h>
#include <Ogre.h>


using namespace Ogre;

class NPC
{

I don't see how that would happen?

betajaen

10-03-2007 19:11:30

I'd upgrade to 0.6 then, although if you do and have problems. Keep the talk inside the 0.6 thread. :D

danharibo

10-03-2007 19:30:06

I'm trying to avoid beta software, is there anyway to make Vc only throw this error if I'm actualy including the file it's talking about?

betajaen

10-03-2007 19:48:19

0.6 is probably the most stablest NxOgre there is. Don't let the concept of SVN phase you, it's just a regular dumping ground of up to date NxOgre.