C++ 无法在Pharo中运行沃登物理示例

C++ 无法在Pharo中运行沃登物理示例,c++,swig,smalltalk,pharo,bullet,C++,Swig,Smalltalk,Pharo,Bullet,我正在尝试在Pharo中运行Woden Physics示例,其中包括在Pharo中正确编译Bullet并正确安装smalltalk绑定 我使用的是LinuxMint17x64 但是NativeBoost似乎无法加载已编译的库。我一直在使用此处提供的来源: 我使用提供的构建脚本构建了修改后的swig版本以及bullet库和绑定。 我还仔细检查了bullet库是否为32位。 打开Woden physics示例将返回以下错误: failed to get a symbol address: P

我正在尝试在Pharo中运行Woden Physics示例,其中包括在Pharo中正确编译Bullet并正确安装smalltalk绑定

我使用的是LinuxMint17x64

但是NativeBoost似乎无法加载已编译的库。我一直在使用此处提供的来源:

我使用提供的构建脚本构建了修改后的swig版本以及bullet库和绑定。 我还仔细检查了bullet库是否为32位。 打开Woden physics示例将返回以下错误:

 failed to get a symbol address:
 PharoNB_new_BTDefaultCollisionConfiguration__SWIG_1
在调试器中检查调用堆栈时,发现模块句柄为0

我通过执行与相同的消息来验证这一点

BulletCInterface nbLibraryNameOrHandle
执行:

NativeBoost forCurrentPlatform loadModule: 'BulletPharo'
此消息返回0。我试图在工作区中指定libPharoBullet.so的完整路径,如:

NativeBoost forCurrentPlatform loadModule: 
'/home/martin/.local/share/Pharo/bullet-pharo/libBulletPharo.so'
同样的结果。我还用我的32位系统库(liblzma)验证了它,NativeBoost能够加载它,因为它返回了一个非零句柄

所以我怀疑编译过程中出现了一些问题。。。 我也有

readelf -h libPharoBullet.so
它的ABI是“UNIX-GNU”,而pharo vm的ABI是“UNIX-SystemV”

这就是问题所在吗? 如何在编译时强制ABI为System V?我使用GCC4.8.2

或者我可以执行哪些步骤