Page 1 of 1

Problems trying to integrate AGEIA PhysX engine on irrlicht.

Posted: Wed Apr 12, 2006 1:09 pm
by DW5000AD321
y use dev-c++ and is installed in

C:\Dev-c++ , normally all packages are there with their headers and libraries... like irrlicht for example.

but AGEIA PhysX Engine is in C:\Program File\AGEIA Technologies\AGEIA PhysX SDK\

i am triyng to compile the example on this tutorial

http://www.twilightstar.net/%7Eandrew/w ... torial.htm

but mi problem is that when i do the include part i get several errors of compilation.

in the proyect properties i added the directories where PhysX Libraries were, and for the headers too.

can someone please tell me step by step how to do it correctly on Dev-C++ plz?

Posted: Wed Apr 12, 2006 1:14 pm
by Baal Cadar
In order to prevent those several compiler errors, you have to do several steps to fix stuff.
Sloppy questions -> Sloppy answers.

Provide *exact* error messages and more info on your setup. Your path contains several spaces, did you wrap it with ""?

Posted: Wed Apr 12, 2006 1:24 pm
by dw5000ad3
compilation errors like this:

In file included from
15C:\Archivosdeprograma\AGEIATechnologies\AGEIA PhysX SDK\v2.3.2\SDKs\Foundation\include\NxVec3.h:18,

from C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\Foundation\include\NxBounds3.h

25 C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\Foundation\include\NxBounds3.h:15, from C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\Foundation\include\NxFoundation.h from C:/Archivos de programa/AGEIA Technologies/AGEIA PhysX SDK/v2.3.2/SDKs/Foundation/include/NxBounds3.h:15, from C:/Archivos de programa/AGEIA Technologies/AGEIA PhysX SDK/v2.3.2/SDKs/Foundation/include/NxFoundation.h

21 C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\Foundation\include\NxFoundation.h:25, from C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\Physics\include\NxPhysics.h from C:/Archivos de programa/AGEIA Technologies/AGEIA PhysX SDK/v2.3.2/SDKs/Foundation/include/NxFoundation.h:25, from C:/Archivos de programa/AGEIA Technologies/AGEIA PhysX SDK/v2.3.2/SDKs/Physics/include/NxPhysics.h

11 C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\Physics\include\NxPhysics.h:21, from Invitacion.cpp from C:/Archivos de programa/AGEIA Technologies/AGEIA PhysX SDK/v2.3.2/SDKs/Physics/include/NxPhysics.h:21, from Invitacion.cpp

11 C:\C++ mis proyectos\Irrlicht\Gravedad AGEIA PhysX\Invitacion.cpp
In static member function
`static void NxMath::sinCos(NxF32, NxF32&, NxF32&)':

725 C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\Foundation\include\NxMath.h

`_asm' undeclared (first use this function)

(Each undeclared identifier is reported only once for each function it appears in.)


AND MANY OTHER WARNINGS FROM THE HEADERS (LIKE IF THEY WERE WRONG BUT THEY CANT BE U_U).


if someone can help i would apreciate it.

EDITED: this is the include part of the program.

#pragma comment(lib, "PhysXLoader.lib")
#pragma comment(lib, "NxCooking.lib")
#pragma comment(lib, "Irrlicht.lib")


#include <NxPhysics.h>
#include <NxCooking.h>
#include <stdlib.h>
#include <irrlicht.h>
#include <iostream>
#include <string.h>
#include <Stream.h>

AND THIS IS MY PATH SET:

Path:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Archivos de programa\Archivos comunes\Adobe\AGL; C:\Dev-Cpp\bin; C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\Cooking\include; C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\Foundation\include; C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\lib\win32; C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\NxCharacter\include ; C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\NxExtensions\include ; C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\Physics\include ; C:\Archivos de programa\AGEIA Technologies\AGEIA PhysX SDK\v2.3.2\SDKs\PhysXLoader\include ;C:\Archivos de programa\QuickTime\QTSystem\

Posted: Wed Apr 12, 2006 1:31 pm
by dw5000ad3
i think i made a mistake putting headers in the path....
should i put the bin files from AGEIA PhysX ?

Posted: Wed Apr 12, 2006 1:31 pm
by hybrid
The tutorial is for VC++, you're probably using g++. There might be some defines wrong. Best would be to change to vc++, or check with Ageia if they support mingw/g++-win32. Or fix the headers yourself.

Posted: Wed Apr 12, 2006 1:38 pm
by dw5000ad3
i mailed the guy who made the tutorial, he never said that the tutorial wont work with Dev-c++ , there must be an easy way to solve this but i dont know how yet. ill keep trying other posibilities

Posted: Wed Apr 12, 2006 1:52 pm
by hybrid
Not saying that it won't work does not really help since most people just use one compiler for their projects. But the tutorial is not the problem. you should check with Ageia documentation whether it is compatible with mingw/g++-win32. The problem lies within their area of responsibility.

Posted: Wed Apr 12, 2006 4:40 pm
by dw5000ad3
ill keep looking for that detail you mentioned Hybrid...

anyway, can someone try to compile a program like this? but in Dev-cpp the last version (the beta one).

#pragma comment(lib, "PhysXLoader.lib")
#pragma comment(lib, "NxCooking.lib")
#pragma comment(lib, "Irrlicht.lib")

#include <NxPhysics.h>
#include <NxCooking.h>
#include <Stream.h>
#include <irrlicht.h>

int main(){
printf("have good day");
return 0;
}


You will need to install AGEIA PhysX Engine first, and link the libraries and headers. in the tutorial there is a link for downloading AGEIA PhysX.
just to see if someone can get the headers and libraries to work properly.