Hello !
First, sorry if there are some gramaticals error in my post, i'm a french collegian so i dont speak english very well (thanks google translation) .
I work on Linux (last version of Kubuntu), i tried to compile IrrPhysx on Linux with a makefile, but i have some error . Because i never used Physx (i don't found any tutorial in french), i dont understand the errors .
Here, is my Makefile :
- Code: Select all
#--------------------------------------------------------------
# Makefile generated with cmak version 0.9.6 (4/2006).
# Date: 6/7/2010 16:3:45
#--------------------------------------------------------------
PREFIX = /usr/local
CFLAGS = -l"usr/local/lib/libIrrlicht.a" -I"usr/include"
LDFLAGS =
CC = g++
RM = rm -f
INSTALL_PROG = install -m 755 -s
EXE = IrrPhysx.a
OBJS = CBufferSceneNode.o CCloth.o CClothPhysxMesh.o CClothPhysxObject.o CConvexPhysxMesh.o CDebugRenderer.o Cooking.o CPhysxManager.o CPhysxMesh.o CPhysxObject.o CTrianglePhysxMesh.o IrrPhysx.o MathConversion.o Streams.o
ALL : $(EXE)
CBufferSceneNode.o : CBufferSceneNode.cpp
$(CC) -c CBufferSceneNode.cpp $(CFLAGS) -o CBufferSceneNode.o
CCloth.o : CCloth.cpp
$(CC) -c CCloth.cpp $(CFLAGS) -o CCloth.o
CClothPhysxMesh.o : CClothPhysxMesh.cpp
$(CC) -c CClothPhysxMesh.cpp $(CFLAGS) -o CClothPhysxMesh.o
CClothPhysxObject.o : CClothPhysxObject.cpp
$(CC) -c CClothPhysxObject.cpp $(CFLAGS) -o CClothPhysxObject.o
CConvexPhysxMesh.o : CConvexPhysxMesh.cpp
$(CC) -c CConvexPhysxMesh.cpp $(CFLAGS) -o CConvexPhysxMesh.o
CDebugRenderer.o : CDebugRenderer.cpp
$(CC) -c CDebugRenderer.cpp $(CFLAGS) -o CDebugRenderer.o
Cooking.o : Cooking.cpp
$(CC) -c Cooking.cpp $(CFLAGS) -o Cooking.o
CPhysxManager.o : CPhysxManager.cpp
$(CC) -c CPhysxManager.cpp $(CFLAGS) -o CPhysxManager.o
CPhysxMesh.o : CPhysxMesh.cpp
$(CC) -c CPhysxMesh.cpp $(CFLAGS) -o CPhysxMesh.o
CPhysxObject.o : CPhysxObject.cpp
$(CC) -c CPhysxObject.cpp $(CFLAGS) -o CPhysxObject.o
CTrianglePhysxMesh.o : CTrianglePhysxMesh.cpp
$(CC) -c CTrianglePhysxMesh.cpp $(CFLAGS) -o CTrianglePhysxMesh.o
IrrPhysx.o : IrrPhysx.cpp
$(CC) -c IrrPhysx.cpp $(CFLAGS) -o IrrPhysx.o
MathConversion.o : MathConversion.cpp
$(CC) -c MathConversion.cpp $(CFLAGS) -o MathConversion.o
Streams.o : Streams.cpp
$(CC) -c Streams.cpp $(CFLAGS) -o Streams.o
$(EXE) : $(OBJS)
ar -q $(EXE) $(OBJS)
install : $(EXE)
$(INSTALL_PROG) $(EXE) $(PREFIX)/bin
uninstall :
$(RM) $(PREFIX)/bin/$(EXE)
clean :
$(RM) $(OBJS) $(EXE)
And this is the errors (i give you only a part because there is a lot but the errors are same) :
- Code: Select all
g++ -c CCloth.cpp -l"usr/local/lib/libIrrlicht.a" -I"usr/include" -o CCloth.o
In file included from /usr/local/include/NxFoundation.h:19,
from /usr/local/include/NxPhysics.h:21,
from CPhysxMesh.h:5,
from CClothPhysxMesh.h:4,
from CCloth.h:5,
from CCloth.cpp:3:
/usr/local/include/Nx.h:34:4: error: #error custom definition of NX_CALL_CONV for your OS needed!
/usr/local/include/Nx.h:61:3: error: #error PhysX SDK: Platforms pointer size ambiguous. Please define NX32 or Nx64 in the compiler settings!
In file included from /usr/local/include/Nx.h:246,
from /usr/local/include/NxFoundation.h:19,
from /usr/local/include/NxPhysics.h:21,
from CPhysxMesh.h:5,
from CClothPhysxMesh.h:4,
from CCloth.h:5,
from CCloth.cpp:3:
/usr/local/include/NxSimpleTypes.h:89:3: error: #error Unknown platform!
In file included from /usr/local/include/Nx.h:246,
from /usr/local/include/NxFoundation.h:19,
from /usr/local/include/NxPhysics.h:21,
from CPhysxMesh.h:5,
from CClothPhysxMesh.h:4,
from CCloth.h:5,
from CCloth.cpp:3:
/usr/local/include/NxSimpleTypes.h:94: error: ‘NxU32’ does not name a type
/usr/local/include/NxSimpleTypes.h:95: error: ‘NxF32’ does not name a type
/usr/local/include/NxSimpleTypes.h:103: error: ‘NxI8’ was not declared in this scope
/usr/local/include/NxSimpleTypes.h:104: error: ‘NxU8’ was not declared in this scope
/usr/local/include/NxSimpleTypes.h:105: error: ‘NxI16’ was not declared in this scope
/usr/local/include/NxSimpleTypes.h:106: error: ‘NxU16’ was not declared in this scope
/usr/local/include/NxSimpleTypes.h:107: error: ‘NxI32’ was not declared in this scope
/usr/local/include/NxSimpleTypes.h:108: error: ‘NxU32’ was not declared in this scope
/usr/local/include/NxSimpleTypes.h:109: error: ‘NxI64’ was not declared in this scope
/usr/local/include/NxSimpleTypes.h:110: error: ‘NxU64’ was not declared in this scope
In file included from /usr/local/include/NxFoundationSDK.h:14,
from /usr/local/include/NxFoundation.h:22,
from /usr/local/include/NxPhysics.h:21,
from CPhysxMesh.h:5,
from CClothPhysxMesh.h:4,
from CCloth.h:5,
from CCloth.cpp:3:
/usr/local/include/Nxf.h:20: error: ‘NxF32’ does not name a type
In file included from /usr/local/include/NxFoundation.h:22,
from /usr/local/include/NxPhysics.h:21,
from CPhysxMesh.h:5,
from CClothPhysxMesh.h:4,
from CCloth.h:5,
from CCloth.cpp:3:
/usr/local/include/NxFoundationSDK.h:92: error: ‘NxU32’ has not been declared
In file included from /usr/local/include/NxFoundation.h:23,
from /usr/local/include/NxPhysics.h:21,
from CPhysxMesh.h:5,
from CClothPhysxMesh.h:4,
from CCloth.h:5,
from CCloth.cpp:3:
/usr/local/include/NxArray.h: In member function ‘bool NxArray<ElemType, AllocType>::deleteEntry(const ElemType&)’:
/usr/local/include/NxArray.h:295: error: ‘NxU32’ was not declared in this scope
/usr/local/include/NxArray.h:295: error: expected ‘;’ before ‘s’
/usr/local/include/NxArray.h:296: error: expected ‘;’ before ‘i’
/usr/local/include/NxArray.h:296: error: ‘i’ was not declared in this scope
/usr/local/include/NxArray.h:296: error: ‘s’ was not declared in this scope
In file included from /usr/local/include/NxFoundation.h:24,
from /usr/local/include/NxPhysics.h:21,
from CPhysxMesh.h:5,
from CClothPhysxMesh.h:4,
from CCloth.h:5,
from CCloth.cpp:3:
/usr/local/include/NxBitField.h: At global scope:
/usr/local/include/NxBitField.h:29: error: ‘NxU32’ does not name a type
In file included from /usr/local/include/NxFoundation.h:24,
from /usr/local/include/NxPhysics.h:21,
from CPhysxMesh.h:5,
from CClothPhysxMesh.h:4,
from CCloth.h:5,
from CCloth.cpp:3:
/usr/local/include/NxBitField.h:31: error: ‘NxU32’ does not name a type
/usr/local/include/NxBitField.h:32: error: ‘NxU32’ does not name a type
/usr/local/include/NxBitField.h:33: error: ‘NxU32’ does not name a type
/usr/local/include/NxBitField.h:34: error: ‘NxU32’ does not name a type
/usr/local/include/NxBitField.h:42: error: ‘NxU32’ has not been declared
/usr/local/include/NxBitField.h:43: error: declaration of ‘operator=’ as non-function
/usr/local/include/NxBitField.h:43: error: expected ‘;’ before ‘(’ token
/usr/local/include/NxBitField.h:48: error: expected ‘;’ before ‘inline’
/usr/local/include/NxBitField.h:48: error: expected type-specifier before ‘Flag’
/usr/local/include/NxBitField.h:55: error: ‘NxU32’ does not name a type
/usr/local/include/NxBitField.h:63: error: field ‘IntType’ has incomplete type
/usr/local/include/NxBitField.h:65: error: expected type-specifier before ‘IntType’
/usr/local/include/NxBitField.h:68: error: declaration of ‘operator=’ as non-function
/usr/local/include/NxBitField.h:68: error: expected ‘;’ before ‘(’ token
/usr/local/include/NxBitField.h:71: error: ‘NxU32’ has not been declared
/usr/local/include/NxBitField.h:71: error: ‘Flag’ has not been declared
/usr/local/include/NxBitField.h:72: error: ‘NxU32’ has not been declared
/usr/local/include/NxBitField.h:73: error: ‘NxU32’ has not been declared
/usr/local/include/NxBitField.h:74: error: ‘Flag’ does not name a type
/usr/local/include/NxBitField.h:78: error: ‘Mask’ has not been declared
/usr/local/include/NxBitField.h:78: error: ‘Flag’ has not been declared
/usr/local/include/NxBitField.h:79: error: ‘Mask’ has not been declared
/usr/local/include/NxBitField.h:80: error: ‘Mask’ has not been declared
/usr/local/include/NxBitField.h:82: error: ‘Mask’ has not been declared
/usr/local/include/NxBitField.h:96: error: ‘Field’ does not name a type
/usr/local/include/NxBitField.h:97: error: ‘Shift’ has not been declared
/usr/local/include/NxBitField.h:97: error: ‘Mask’ has not been declared
/usr/local/include/NxBitField.h:97: error: ‘Field’ has not been declared
/usr/local/include/NxBitField.h:98: error: ‘Mask’ has not been declared
/usr/local/include/NxBitField.h:101: error: ‘NxU32’ has not been declared
/usr/local/include/NxBitField.h:104: error: ‘Mask’ does not name a type
/usr/local/include/NxBitField.h:105: error: ‘Shift’ does not name a type
/usr/local/include/NxBitField.h:108: error: ‘IntType’ does not name a type
/usr/local/include/NxBitField.h: In constructor ‘NxBitField::FlagRef::FlagRef(NxBitField&, int)’:
/usr/local/include/NxBitField.h:42: error: class ‘NxBitField::FlagRef’ does not have any field named ‘bitIndex’
/usr/local/include/NxBitField.h: At global scope:
/usr/local/include/NxBitField.h:115: error: expected ‘)’ before ‘v’
/usr/local/include/NxBitField.h: In copy constructor ‘NxBitField::NxBitField(const NxBitField&)’:
/usr/local/include/NxBitField.h:123: error: ‘bitField’ was not declared in this scope
/usr/local/include/NxBitField.h:123: error: ‘const class NxBitField’ has no member named ‘bitField’
/usr/local/include/NxBitField.h: At global scope:
/usr/local/include/NxBitField.h:127: error: variable or field ‘setFlag’ declared void
/usr/local/include/NxBitField.h:127: error: ‘NxU32’ was not declared in this scope
/usr/local/include/NxBitField.h:127: error: ‘Flag’ was not declared in this scope
/usr/local/include/NxBitField.h:136: error: variable or field ‘raiseFlag’ declared void
/usr/local/include/NxBitField.h:136: error: ‘NxU32’ was not declared in this scope
/usr/local/include/NxBitField.h:142: error: variable or field ‘lowerFlag’ declared void
/usr/local/include/NxBitField.h:142: error: ‘NxU32’ was not declared in this scope
/usr/local/include/NxBitField.h:148: error: ‘Flag’ in class ‘NxBitField’ does not name a type
/usr/local/include/NxBitField.h:155: error: variable or field ‘setFlagMask’ declared void
/usr/local/include/NxBitField.h:155: error: ‘Mask’ was not declared in this scope
/usr/local/include/NxBitField.h:155: error: ‘Flag’ was not declared in this scope
/usr/local/include/NxBitField.h:164: error: variable or field ‘raiseFlagMask’ declared void
/usr/local/include/NxBitField.h:164: error: ‘Mask’ was not declared in this scope
/usr/local/include/NxBitField.h:170: error: variable or field ‘lowerFlagMask’ declared void
/usr/local/include/NxBitField.h:170: error: ‘Mask’ was not declared in this scope
/usr/local/include/NxBitField.h:177: error: ‘NxBitField::getFlagMask’ declared as an ‘inline’ variable
/usr/local/include/NxBitField.h:177: error: ‘bool NxBitField::getFlagMask’ is not a static member of ‘class NxBitField’
/usr/local/include/NxBitField.h:177: error: ‘Mask’ was not declared in this scope
/usr/local/include/NxBitField.h:177: error: expected ‘,’ or ‘;’ before ‘const’
/usr/local/include/NxBitField.h:183: error: ‘Field’ in class ‘NxBitField’ does not name a type
/usr/local/include/NxBitField.h:189: error: variable or field ‘setField’ declared void
/usr/local/include/NxBitField.h:189: error: ‘Shift’ was not declared in this scope
/usr/local/include/NxBitField.h:189: error: ‘Mask’ was not declared in this scope
/usr/local/include/NxBitField.h:189: error: ‘Field’ was not declared in this scope
/usr/local/include/NxBitField.h:196: error: variable or field ‘clearField’ declared void
/usr/local/include/NxBitField.h:196: error: ‘Mask’ was not declared in this scope
/usr/local/include/NxBitField.h:202: error: declaration of ‘operator[]’ as non-function
/usr/local/include/NxBitField.h:202: error: ‘NxU32’ was not declared in this scope
/usr/local/include/NxBitField.h: In member function ‘const NxBitField& NxBitField::operator=(const NxBitField&)’:
/usr/local/include/NxBitField.h:210: error: ‘bitField’ was not declared in this scope
/usr/local/include/NxBitField.h:210: error: ‘const class NxBitField’ has no member named ‘bitField’
/usr/local/include/NxBitField.h: At global scope:
/usr/local/include/NxBitField.h:215: error: declaration of ‘operator=’ as non-function
/usr/local/include/NxBitField.h:215: error: ‘IntType’ was not declared in this scope
[EDIT]
I know it is incredible but the Physx's headers are invalid, i had to change some file, the errors was caused by the lines "#ifdef" follow by "#elif", to fix it, replace "#ifdef" by "#if define" .
Now i have some errors with IrrPhysx's source, when i am going to fix it, i am going to upload an archive .
[EDIT]
Yes, it work fine
IrrPhysx For Linux