Bullet Link Problem

My code compiles fine but in the linking no matter what libs i include i get link errors.

1>KCC.obj : error LNK2001: unresolved external symbol "public: float __thiscall BulletRayHit::get_hit_fraction(void)const " (?get_hit_fraction@BulletRayHit@@QBEMXZ)
1>KCC.obj : error LNK2001: unresolved external symbol "public: class LVector3f __thiscall BulletRayHit::get_hit_normal(void)const " (?get_hit_normal@BulletRayHit@@QBE?AVLVector3f@@XZ)
1>KCC.obj : error LNK2001: unresolved external symbol "public: class LPoint3f __thiscall BulletRayHit::get_hit_pos(void)const " (?get_hit_pos@BulletRayHit@@QBE?AVLPoint3f@@XZ)
1>KCC.obj : error LNK2001: unresolved external symbol "public: class PandaNode * __thiscall BulletRayHit::get_node(void)const " (?get_node@BulletRayHit@@QBEPAVPandaNode@@XZ)

What library/setting am i missing/have wrong or is this something else?

Windows 7,HD5850,Fx8350,vs2008,panda3d 1.80(build 570) and panda3d 1.9.0(build 818)
cheers.

You probably compile against “panda3d 1.9.0(build 818)” headers and link against “panda3d 1.80(build 570)” libs.

Ok so i uninstalled both pandas and reinstalled 1.9.0 because that is the one i want to use.I’m pretty sure i wasn’t using parts from each one.

Same errors on fresh install with only one version(i tried both separately).

I am using a bullet version from the panda3d 1.8.0 third party folder(i don’t know where the 1.9.0 thirdparty is)/
it is bullet version 2.78.
Which bullet version should i be using?

Panda3D 1.9.0 is not out yet, right? So you using one of the latest Panda3D snapshot builds and not 1.9.0, no matter what the installer says.
If it is a very recent on (one week or so) then you should use Bullet 2.81.
If it is older then you should use Bullet 2.80.

Nope… didn’t change a thing

i tried bullet 2.80 and 2.81 with builds(900) and (818) both wont compile with 2.81 and i get the same linking problems with 2.80.

i guess ill keep messing around with it.thanks for the help though.

What libraries are you linking? Please report them all.
I assume you are linking against libpandabullet.lib. Otherwise you would not be able to use any method from the Panda3D Bullet module.
Have you tried to clean up everything and compile new? Sometimes build system don’t handle updates well.

libp3framework.lib
libpanda.lib
libpandafx.lib
libpandaexpress.lib
libp3dtool.lib
libp3dtoolconfig.lib
libp3pystub.lib
libp3direct.lib
libpandabullet.lib
BulletCollision.lib
BulletDynamics.lib
BulletFileLoader.lib
BulletSoftBody.lib
BulletWorldImporter.lib
ConvexDecomposition.lib
OpenGLSupport.lib
LinearMath.lib

These…it was less but i tried to add all related to bullet.
I just built panda3d with bullet 2.80 myself (a few weeks ago cvs) and i still am getting this link error.I also tried making a new project but that didnt change anything.Tomoro i will have access to a different pc so ill see if that changed anything

Different PC same problem.

I look on libpandabullet.lib and cant find the symbols.

I have linking output on and it says it search’s that file and cant find the symbols.

im going to get the latest cvs and use bullet 2.81 and see if that works.

Right. The symbols it which are not found are Panda3D Bullet module methods.

Seems like I forgot to export the whole class from libpanda3d. My fault. I check in a fix asap.

EDIT: I checked in a fix which should solve this problem. Thank you for finding out.

Haha no worries man you produce complex stuff that i am thankful for.
Cheers for that. :smiley: