有一个相对较新的ubuntu LTS安装,我按照此处的说明进行通用动态库构建:http://www.bulletphysics.org/mediawiki-1.5.8/index.php/Installation
安装似乎顺利进行(没有错误或警告),之后我将所有必要的文件放在/ usr / local / include / bullet中。我目前正在尝试从以下shell命令编译文件:
g ++ bulletTest.cpp -lGL -lGLU -I / usr / local / include / bullet /
bulletTest.cpp是:
#include <iostream>
#include <btBulletDynamicsCommon.h>
int main (void)
{
btBroadphaseInterface* broadphase;
return 0;
}
此文件没有任何内容,但是抛出了大量未定义的引用错误,例如&#34; /tmp/ccH09wLR.o :(。rodata._ZTV17btTypedConstraint [_ZTV17btTypedConstraint] + 0x30):未定义引用`__cxa_pure_virtual& #39;&#34;我在论坛/ SO上找不到任何其他投诉,所以我认为这对我的构建/安装一定是个问题。尝试gcc和g ++编译器时会出现这些类型的错误。
有人有想法吗?
编辑:将我的shell命令更改为g ++ bulletTest.cpp -lGL -lGLU -lBulletDynamics -lBulletCollision -lBulletSoftBody -lLinearMath -I / usr / local / include / bullet /
它编译但不运行,错误是:加载共享库时出错:libBulletDynamics.so.2.82:无法打开共享对象文件:没有这样的文件或目录
答案 0 :(得分:1)
所以这是很多小东西。首先,不要参考所需的每个库的“lbullet”参考:
g++ bulletTest.cpp -o bulletTest -lGL -lGLU -lBulletDynamics -lBulletCollision -lBulletSoftBody -lLinearMath -I /usr/local/include/bullet/
另外,我必须设置LD_LIBRARY_PATH变量
export LD_LIBRARY_PATH=/usr/local/lib
然后它将编译并运行。