Baixar em: http://developer.nvidia.com/object/physx_downloads.html
Então, a partir do diretório de download, descompactar e instalar todos os pacotes. Usuários de sistemas 64 bit precisam forçar a instalação via linha de comando:
64bit:Bibliotecas compartilhadas são instaladas em do diretório específico da versão “/usr/lib/PhysX/v2.8.1/”, assim, é preciso likar com “/usr/lib”.
sudo dpkg -i --force-architecture *.deb
Pronto! Tente rodar algum exemplo do diretório “/usr/sbin/PhysX_Samples_2.8.1_FC4/Bin/linux/”.sudo ln -s /usr/lib/PhysX/v2.8.1/libNxCharacter.so.1 /usr/lib/libNxCharacter.so.1sudo ln -s /usr/lib/PhysX/v2.8.1/libNxCooking.so.1 /usr/lib/libNxCooking.so.1sudo ln -s /usr/lib/PhysX/v2.8.1/libPhysXCore.so.1 /usr/lib/libPhysXCore.so.1
Nem todos os exemplos funcionam corretamente. Um dos que funcionam é o
/usr/sbin/PhysX_Samples_2.8.1_FC4/Bin/linux/SampleBoxes
2) Compilando e rodando seu próprio projeto
Agora, para compilar um exemplo usando o Eclipse (neste caso o Galileo, v3.5) fazemos o seguinte:
Primeiramente, em máquinas 64bit certifique-se que você possui as extensões 32bit do gcc instaladas
64bit:Crie um novo projeto C++ vazio (Empty Project) e vá em Propriedades. Vá em Settings e na seção C/C++ Build. Então vamos configurar as flags do g++ para compilar o projeto corretamente: em GCC C++ Compiler, em Preprocessor adicione as seguintes palavras em Definied symbols:
sudo apt-get install g++-multilib lib32stdc++6
LINUX, NX32, CORELIB, NX_DISABLE_FLUIDS
Em Directories adicione os seguintes caminhos (paths):
/usr/include/PhysX/v2.8.1/SDKs/Physics/include64bit: Em Miscellaneous adicione em Other flags
/usr/include/PhysX/v2.8.1/LowLevel/API/include
/usr/include/PhysX/v2.8.1/SDKs/Cooking/include
/usr/include/PhysX/v2.8.1/SDKs/PhysXLoader/include
/usr/include/PhysX/v2.8.1/LowLevel/hlcommon/include
/usr/include/PhysX/v2.8.1/SDKs/Foundation/include
/usr/include/PhysX/v2.8.1/SDKs/NxCharacter/include
64bit:Esta flag irá dizer para o compilador para criar binários 32bit ao invés de 64bit.
-m32
Agora, em GCC C++ Linker e em Libraries, adicione as bibliotecas (libs):
dl, pthread, PhysXLoaderAs bibliotecas GLU, GL, glut são da Glut e OpenGL, necessários para rodar esse exemplo.
GLU, GL, glut
64bit: Em Library search path:
/usr/lib3264bit: Em Miscellaneous:
-m32Bom, agora o ambiente está configurado, experimente rodar os códigos contido em: SampleBoxes.tar
Um projeto com as configurações já feitas: SampleBoxesCDT.tar
Você pode rodar esses exemplos com as linhas de comando abaixo:
g++ -DNX_DISABLE_FLUIDS -DCORELIB -DNX32 -DLINUX -I/usr/include/PhysX/v2.8.1/SDKs/Physics/include -I"" -I/usr/include/PhysX/v2.8.1/LowLevel/API/include -I/usr/include/PhysX/v2.8.1/SDKs/Cooking/include -I/usr/include/PhysX/v2.8.1/SDKs/PhysXLoader/include -I/usr/include/PhysX/v2.8.1/LowLevel/hlcommon/include -I/usr/include/PhysX/v2.8.1/SDKs/Foundation/include -I/usr/include/PhysX/v2.8.1/SDKs/NxCharacter/include -O3 -Wall -c -fmessage-length=0 -m32 -o"SampleBoxes.o" "./SampleBoxes.cpp"
g++ -L/usr/lib32 -m32 -o"physx_test" ./SampleBoxes.o -lPhysXLoader -lGLU -lGL -lglut -ldl -lpthread
Fonte: http://about.something.pl/art/howto-setup-physx-sdk-in-linux.html