can't compile nxogre1.7(need change Physx version?)

pizzazhang

28-01-2011 14:08:43

hi guys:
I decide to use nxogre1.7 (now developing version) in my work. But when I compiled it, it failed. Here are the failure information. It seems missing some variables in the source code. I have installed PhysX2.8.1 on my computer, need I change to a new version to make nxogre1.7 work?
1>------ Build started: Project: NxOgre, Configuration: Final Win32 ------
1>Build started 2011/1/28 21:52:19.
1>InitializeBuildStatus:
1> Touching "Final\NxOgre.unsuccessfulbuild".
1>ClCompile:
1> NxOgre.cpp
1>d:\nxogre\build\source\NxOgreVisualDebugger.cpp(420): error C2065: 'NX_VISUALIZE_CLOTH_HIERARCHY' : undeclared identifier
1>d:\nxogre\build\source\NxOgreVisualDebugger.cpp(421): error C2065: 'NX_VISUALIZE_CLOTH_HARD_STRETCHING_LIMITATION' : undeclared identifier
1>d:\nxogre\build\source\NxOgreVisualDebugger.cpp(481): error C2065: 'NX_VISUALIZE_CLOTH_HIERARCHY' : undeclared identifier
1>d:\nxogre\build\source\NxOgreVisualDebugger.cpp(482): error C2065: 'NX_VISUALIZE_CLOTH_HARD_STRETCHING_LIMITATION' : undeclared identifier
1>d:\nxogre\build\source\NxOgreWorld.cpp(222): error C2065: 'NX_SDKF_PER_SCENE_BATCHING' : undeclared identifier
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:03.34
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

any help will be appreciated!

pizzazhang

28-01-2011 15:30:59

well, finally I annotated those variables or macros that my compiler couldn't find, it worked!. Then I compiled Critter, then...when I compiled the new NxOgre tutorials for nxogre1.7, I got these errors... So I think nxogre1.7 not finished yet? We only can use parts of its functions in our work? or I missed something that failed my work?. :?
1>------ Build started: Project: NxOgreTutorials, Configuration: Final Win32 ------
1>Build started 2011/1/28 23:20:59.
1>InitializeBuildStatus:
1> Creating "Final\NxOgreTutorials.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1> DLL.cpp
1>d:\nxogretutorials\build\source\303.h(94): error C2872: 'Constants' : ambiguous symbol
1> could be 'Critter::Constants'
1> or 'NxOgre::Constants'
1>d:\nxogretutorials\build\source\303.h(94): error C2039: 'MEAN_EARTH_GRAVITY' : is not a member of 'Critter::Constants'
1>d:\nxogretutorials\build\source\303.h(94): error C2065: 'MEAN_EARTH_GRAVITY' : undeclared identifier
1>d:\nxogretutorials\build\source\304.h(89): error C2872: 'Constants' : ambiguous symbol
1> could be 'Critter::Constants'
1> or 'NxOgre::Constants'
1>d:\nxogretutorials\build\source\304.h(89): error C2039: 'MEAN_EARTH_GRAVITY' : is not a member of 'Critter::Constants'
1>d:\nxogretutorials\build\source\304.h(89): error C2065: 'MEAN_EARTH_GRAVITY' : undeclared identifier
1>d:\nxogretutorials\build\source\304a.h(112): error C2872: 'Constants' : ambiguous symbol
1> could be 'Critter::Constants'
1> or 'NxOgre::Constants'
1>d:\nxogretutorials\build\source\304a.h(112): error C2039: 'MEAN_EARTH_GRAVITY' : is not a member of 'Critter::Constants'
1>d:\nxogretutorials\build\source\304a.h(112): error C2065: 'MEAN_EARTH_GRAVITY' : undeclared identifier
1>d:\nxogretutorials\build\source\701.h(111): error C2872: 'Constants' : ambiguous symbol
1> could be 'Critter::Constants'
1> or 'NxOgre::Constants'
1>d:\nxogretutorials\build\source\701.h(111): error C2039: 'MEAN_EARTH_GRAVITY' : is not a member of 'Critter::Constants'
1>d:\nxogretutorials\build\source\701.h(111): error C2065: 'MEAN_EARTH_GRAVITY' : undeclared identifier
1>d:\nxogretutorials\build\source\702.h(130): error C2872: 'Constants' : ambiguous symbol
1> could be 'Critter::Constants'
1> or 'NxOgre::Constants'
1>d:\nxogretutorials\build\source\702.h(130): error C2039: 'MEAN_EARTH_GRAVITY' : is not a member of 'Critter::Constants'
1>d:\nxogretutorials\build\source\702.h(130): error C2065: 'MEAN_EARTH_GRAVITY' : undeclared identifier
1>d:\nxogretutorials\build\source\1201.h(127): error C2039: 'playAnimation' : is not a member of 'Critter::BackgroundCharacter'
1> d:\critter\sdk\CritterBackgroundCharacter.h(46) : see declaration of 'Critter::BackgroundCharacter'
1>d:\nxogretutorials\build\source\1201.h(167): error C2039: 'is_turning' : is not a member of 'Critter::CharacterInput'
1> d:\critter\sdk\CritterCharacterInput.h(44) : see declaration of 'Critter::CharacterInput'
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:08.07
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

betajaen

28-01-2011 15:43:07

Your Critter version is the "Detritus (1.6)" version.

You need these:

https://github.com/betajaen/nxogre/zipball/buggyswires
https://github.com/betajaen/critter/zipball/buggyswires


However, as your newish, I strongly recommend you use Detritus. Unless you have a pressing need to use incomplete code.

pizzazhang

28-01-2011 16:22:32

I just checked, I use the right version (1.7). I edited the tutorial's code, adding namespace NxOgre before Constans and something like that, just a little change. Now all the samples work in my ogre's samplebrowser. I didn't touch the Ogre or NxOgre stuffs for almost 3 months(busy for new term's courses), but recently I need them for a vehicle game project. So maybe I should use Detritus instead, or I can also wait for NxOgre 1.7 to be finished till March (date my project will start).
Thanks for your reply anyway. show a picture I just captured... It's midnight here :? gotta sleep...
[attachment=0]023.PNG[/attachment]

betajaen

28-01-2011 16:38:16

Ahhh.

If you download latest commit the BuggySwires version of the tutorials, then you shouldn't have any of those tutorial specific problems.

Reloadead

03-02-2011 11:38:36

Hey,

I had the same problem as Pizza and "fixed" it by commenting them out, but this doesn't feel right of course. Are these needed or are these outdated flags (I read that at the time of writing, Physx was at 2.4.4 and now it's 2.8.1).

Now that I'm here anyway. I know BuggySwires isn't a stable build, but the main reason I want to use this is to make use of the characterController. I'm using bullet at the moment in my project, but I'm not happy with the result it gives me, so while searching around a bit, I found that NxOgre seems to fit my needs.

So my question is: is it "safe" to use BuggySwires with the flags commented and is it stable enough to make practical use out of it? Or should I use Detritus?

I'm mainly interested in the character controller and as far as I could see this isn't supported with Detritus. Any advice would be appreciated :)

betajaen

03-02-2011 12:03:33

You can use the CC in BuggySwires, but you can't "turn" at the moment or get callbacks from collision events.

Reloadead

03-02-2011 13:08:39

Hmm I see..

I'll take a look into using PhysX directly, or rather, refresh my memory :)

Cheers

betajaen

03-02-2011 13:22:30

You know BuggySwires does more than the CharacterController? Like the rest of PhysX. ;)

Reloadead

03-02-2011 15:34:01

I know :) but the CC is the main thing I'm interested in :)

On the other hand.. I don't really need the callbacks just yet. And with the turning I'm assuming you mean turn in 90 degrees and such? It's not really that much of a problem than because our game is a 2.5D sidescroller :)

http://www.youtube.com/watch?v=Exexl_O2bqs
This is what we've done in approx 8 days with ogre and bullet and the main reason why I don't want to use the CC from bullet anymore is that first of all is incomplete and the jumping isn't frame in-depended which results in longer airtime which will lead to getting to places you shouldn't :p I'll go play around with NXogre, although I can't compile all of the tutorial apps for some reason. (some errors are about Critter not having some methods anymore, or renamed) and the cloth tuts do not work, which is not that surprising as some of the flags had to be commented out for NXOgre to compile.

I'm assuming that is because of development, but if it's not please let me know, I might be doing something wrong obviously :)

dragutux

05-02-2011 07:06:59

Hi i'm posting because i tried nxogre 1.6 and while everything compiled well and samples appeared under samples browser, they crashed when i tried to launch them.. so i did get a full nxogre 1.7 and so far everything compile appart that play animation thing, how do you fix it ? because people mentionned fixing it but havent told how so.. (the constants thing is already fixed there).

betajaen

05-02-2011 08:02:18

You need the BuggySwires versions of everything; NxOgre, Critter and Tutorials:

https://github.com/betajaen/nxogre/zipball/buggyswires
https://github.com/betajaen/critter/zipball/buggyswires
https://github.com/betajaen/nxogretutor ... uggyswires

It sounds like your using the Detritus version of the tutorials.

[Edit]

If your using PhysX 2.8.4, there is a "bug"/missing feature of the latest SystemSoftware. You need to copy the PhysX dlls into your application directory. The new BuggySwires tutorials do this for you now once compiled (along with the media,NxOgre dll, it even edits the appropriate files). Make sure you delete the old Detritus tutorials before you do though (and remove them from samples_d.cfg/samples.cfg, otherwise there will be conflicts).

Reloadead

05-02-2011 11:01:47

Yeah I figured out I got the wrong tutorial version, tried the new one and got some other errors, but I think I did something wrong because it was late so I'm gonna try it again later today, cleaning everything I did first :)

Thanks for pointing out the "bug" and sorry for the trouble :p

dragutux

06-02-2011 04:31:47

You need the BuggySwires versions of everything; NxOgre, Critter and Tutorials:

https://github.com/betajaen/nxogre/zipball/buggyswires
https://github.com/betajaen/critter/zipball/buggyswires
https://github.com/betajaen/nxogretutor ... uggyswires

It sounds like your using the Detritus version of the tutorials.

[Edit]

If your using PhysX 2.8.4, there is a "bug"/missing feature of the latest SystemSoftware. You need to copy the PhysX dlls into your application directory. The new BuggySwires tutorials do this for you now once compiled (along with the media,NxOgre dll, it even edits the appropriate files). Make sure you delete the old Detritus tutorials before you do though (and remove them from samples_d.cfg/samples.cfg, otherwise there will be conflicts).



as said i am using 1.7 ergo busy swire and yes i saw that bug and i also used git hub source to be fully sure and the
physxdlls were copied by hand before already and the tutorials i use only had a vc10 version of the msvc script (notice : annoying for msvc2008 pro users) but i managed to get it back compiling on msvc 2008

in fact only the playanimation is an issue.

and as another fact : i got working the 1.6 tutos by copying dlls.
and for 1.7 with the commented play animation block code, it works flawlessly.


edit : and cfgs are configurated as well.. i am kinda the dude who backported like 20 ogre old apps
lately.. (by the way if any of you have a old project i take up the challenge :P)

so to conclude :

Critter : last
Nxogre : last
nxogretutos : last (only 1 dll generated instead of many in 1.6)

physx 284 : bug fixed a few times and setup properly already..

dragutux

06-02-2011 04:40:05

btw the line play animation thing is line 127 of 1201.h found in the zip of the 1.7 tutorials which is confirmed by downloading https://github.com/betajaen/nxogretutor ... uggyswires and opening the 1201 file, the animation play is in there at the line noted.

for compatibility i have made a msvc9 file (2008) i will be putting it here in a few days once that particular issue is fixed

big note to beta & others : lots of people use 2008 with ogre and don't like 2010 .. go irc ..

Edit : add of code & isolated error
Edit : all config checked, critter is definately 1.7 as nxogre is too.
if (mKeyboard->isKeyDown(OIS::KC_3))
{
mSinbad->playAnimation(100, Critter::Enums::NO_ANIMATION, Critter::Enums::StockAnimationID_Idle, Critter::Enums::StockAnimationID_Idle, true);
}


log :

1>------ Build started: Project: NxOgreTutorials, Configuration: Debug Win32 ------
1>Compiling...
1>DLL.cpp
1>c:\sdk\projects\projectkarma\karma\dependancies\nxogretutos\build\source\1201.h(127) : error C2039: 'playAnimation' : is not a member of 'Critter::BackgroundCharacter'
1> c:\sdk\projects\projectkarma\karma\dependancies\sdk\CritterBackgroundCharacter.h(46) : see declaration of 'Critter::BackgroundCharacter'
1>Build log was saved at "file://c:\SDK\projects\projectkarma\Karma\Dependancies\nxogretutos\build\vc9\NxOgreTutorials\Debug\BuildLog.htm"
1>NxOgreTutorials - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========