【发布时间】:2009-01-06 02:47:37
【问题描述】:
我正在尝试让 PhysX 使用 Ubuntu 工作。
首先,我在这里下载了 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++ 编译器。提前致谢!
【问题讨论】:
-
此链接包含对我有用的安装说明freespace.virgin.net/hugo.elias/models/m_cloth.htm
-
这有点不相关,但是对于其他在尝试在 linux 上设置 PhsyX SDK 3.0 时偶然发现这篇文章的人来说,我发现这个网站很有帮助:about.something.pl/art/…
标签: linux ubuntu linker debian