Ubuntu を使用して PhysX を動作させようとしています。
まず、ここから SDK をダウンロードしました。
次に、ファイルを抽出し、各パッケージを次のようにインストールしました。
dpkg -i filename.deb
これにより、/usr/lib/PhysX/v2.8.1 にある次のファイルが得られます。
- libNxCharacter.so
- libNxCooking.so
- libPhysXCore.so
- libNxCharacter.so.1
- libNxCooking.so.1
- libPhysXCore.so.1
次に、/usr/lib へのシンボリック リンクを作成しました。
sudo ln -s /usr/lib/PhysX/v2.8.1/libNxCharacter.so.1 /usr/lib/libNxCharacter.so.1
sudo ln -s /usr/lib/PhysX/v2.8.1/libNxCooking.so.1 /usr/lib/libNxCooking.so.1
sudo ln -s /usr/lib/PhysX/v2.8.1/libPhysXCore.so.1 /usr/lib/libPhysXCore.so.1
ここで、Eclipse を使用して、次のライブラリを指定しました (-l):
- libNxCharacter.so.1
- libNxCooking.so.1
- libPhysXCore.so.1
念のため、次の検索パス (-L):
- /usr/lib/PhysX/v2.8.1
- /usr/lib
また、Gerald Kaszuba が示唆したように、次のインクルード パス (-I) を追加しました。
- /usr/lib/PhysX/v2.8.1
- /usr/lib
次に、次のコードをコンパイルしようとしました。
#include "NxPhysics.h"
NxPhysicsSDK* gPhysicsSDK = NULL;
NxScene* gScene = NULL;
NxVec3 gDefaultGravity(0,-9.8,0);
void InitNx()
{
gPhysicsSDK = NxCreatePhysicsSDK(NX_PHYSICS_SDK_VERSION);
if (!gPhysicsSDK)
{
std::cout<<"Error"<<std::endl;
return;
}
NxSceneDesc sceneDesc;
sceneDesc.gravity = gDefaultGravity;
gScene = gPhysicsSDK->createScene(sceneDesc);
}
int main(int arc, char** argv)
{
InitNx();
return 0;
}
私が得る最初のエラーは次のとおりです。
NxPhysics.h: そのようなファイルまたはディレクトリはありません
これは、プロジェクトが明らかに適切にリンクしていないことを示しています。私が間違ったことをしたこと、またはプロジェクトをコンパイルするために他に何をする必要があるか教えてもらえますか? GCC C++ コンパイラを使用しています。前もって感謝します!