godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.03k stars 21.11k forks source link

Build errors with Bullet physics engine Static Library - Unresolved external symbol #9650

Closed AndreaCatania closed 7 years ago

AndreaCatania commented 7 years ago

Windows 64bit - Godot version: 3.0 alpha

I've implemented Bullet physics engine, but now that I've registered the BulletPhysicsServer class using the register_Bullet_types class:

void register_Bullet_types() {
    ClassDB::register_class<BulletPhysicsServer>();
}

I get a building error, that is caused (I think) to the bad configuration of SCsub file. The error is: error LNK2019: unresolved external symbol when I build the code.

The file system structure is that:

godot
├── modules
│   └── Bullet
│       └── SCsub
│       └── some_file.h
│       └── some_file.cpp
└── thirdparty
    └── Bullet
        ├── include
        │     └── ALL_HEADERS.h
        └── Win64
              └── lib
                   └── ALL_LIBRARIES.lib

The SCsub file is that:

#!/usr/bin/env python

Import('env')

thirdparty_dir = "#thirdparty/Bullet/"
thirdparty_lib = thirdparty_dir + "Win64/lib/"

env_Bullet = env.Clone()

thirdparty_sources = [
        "Bullet2FileLoader",
        "Bullet3Collision",
        "Bullet3Common",
        "Bullet3Dynamics",
        "Bullet3Geometry",
        "Bullet3OpenCL_clew",
        "BulletCollision",
        "BulletDynamics",
        "BulletInverseDynamics",
        "BulletSoftBody",
        "LinearMath"
    ]
thirdparty_sources = [thirdparty_lib + file + ".lib" for file in thirdparty_sources]
env_Bullet.StaticLibrary(target = 'Bullet', source = thirdparty_sources )

env_Bullet.Append(CPPPATH=[thirdparty_dir + "/include/"])
env_Bullet.add_source_files(env.modules_sources, "*.cpp")

Here there is the Building error:

[...]
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual class btCollisionAlgorithm * __cdecl btCollisionDispatcher::findAlgorithm(struct btCollisionObjectWrapper const *,struct btCollisionObjectWrapper const *,class btPersistentManifold *,enum ebtDispatcherQueryType)" (?findAlgorithm@btCollisionDispatcher@@UEAAPEAVbtCollisionAlgorithm@@PEBUbtCollisionObjectWrapper@@0PEAVbtPersistentManifold@@W4ebtDispatcherQueryType@@@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: virtual bool __cdecl btCollisionDispatcher::needsCollision(class btCollisionObject const *,class btCollisionObject const *)" (?needsCollision@btCollisionDispatcher@@UEAA_NPEBVbtCollisionObject@@0@Z) referenced in function "public: virtual bool __cdecl GodotCollisionDispatcher::needsCollision(class btCollisionObject const *,class btCollisionObject const *)" (?needsCollision@GodotCollisionDispatcher@@UEAA_NPEBVbtCollisionObject@@0@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: virtual bool __cdecl btCollisionDispatcher::needsResponse(class btCollisionObject const *,class btCollisionObject const *)" (?needsResponse@btCollisionDispatcher@@UEAA_NPEBVbtCollisionObject@@0@Z) referenced in function "public: virtual bool __cdecl GodotCollisionDispatcher::needsResponse(class btCollisionObject const *,class btCollisionObject const *)" (?needsResponse@GodotCollisionDispatcher@@UEAA_NPEBVbtCollisionObject@@0@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionDispatcher::dispatchAllCollisionPairs(class btOverlappingPairCache *,struct btDispatcherInfo const &,class btDispatcher *)" (?dispatchAllCollisionPairs@btCollisionDispatcher@@UEAAXPEAVbtOverlappingPairCache@@AEBUbtDispatcherInfo@@PEAVbtDispatcher@@@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void * __cdecl btCollisionDispatcher::allocateCollisionAlgorithm(int)" (?allocateCollisionAlgorithm@btCollisionDispatcher@@UEAAPEAXH@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionDispatcher::freeCollisionAlgorithm(void *)" (?freeCollisionAlgorithm@btCollisionDispatcher@@UEAAXPEAX@Z)
bin\godot.windows.tools.64.exe : fatal error LNK1120: 70 unresolved externals
scons: *** [bin\godot.windows.tools.64.exe] Error 1120
scons: building terminated because of errors.
00:18:33: The process "C:\Python27\scons.bat" exited with code 2.
Error while building/deploying project godot (kit: Desktop)
The kit Desktop has configuration issues which might be the root cause for this problem.
When executing step "Custom Process Step"
00:18:33: Elapsed time: 00:37.

So what is the right way of include a static Library using scons in order to avoid error LNK2019: unresolved external symbol this error?

AndreaCatania commented 7 years ago

I've understand that the goal of env_Bullet.StaticLibrary(target = 'Bullet', source = thirdparty_sources ) is not to install the StaticLibrary.

So new SCsub look like:

#!/usr/bin/env python

Import('env')

thirdparty_dir = "#thirdparty/Bullet/"
thirdparty_lib = thirdparty_dir + "Win64/lib/"

env_Bullet = env.Clone()

thirdparty_sources = [
        "Bullet2FileLoader",
        "Bullet3Collision",
        "Bullet3Common",
        "Bullet3Dynamics",
        "Bullet3Geometry",
        "Bullet3OpenCL_clew",
        "BulletCollision",
        "BulletDynamics",
        "BulletInverseDynamics",
        "BulletSoftBody",
        "LinearMath"
    ]

env_Bullet.Append(CPPPATH=[thirdparty_dir + "/include/"])

thirdparty_sources = [thirdparty_lib + file + ".lib" for file in thirdparty_sources]
env.Install(dir = thirdparty_lib, source = thirdparty_sources)

env_Bullet.add_source_files(env.modules_sources, "*.cpp")

But the error is the same

akien-mga commented 7 years ago

Static libraries are not "sources", the above logic is for when you want to compile thirdparty sources.

To link against an existing static library, you just need to find out the right way to pass static libs to the linker. Appending the path to the static libraries to LIBS might be enough (+ the CPPPATH for the headers).

reduz commented 7 years ago

Bullet seems like a good candidate for GDNative, though

On Sat, Jul 15, 2017 at 8:17 AM, Rémi Verschelde notifications@github.com wrote:

Static libraries are not "sources", the above logic is for when you want to compile thirdparty sources.

To link against an existing static library, you just need to find out the right way to pass static libs to the linker. Appending the path to the static libraries to LIBS might be enough (+ the CPPPATH for the headers).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/godotengine/godot/issues/9650#issuecomment-315527682, or mute the thread https://github.com/notifications/unsubscribe-auth/AF-Z22exrZcLI8urICUKrn56BnUtTpgiks5sOJ-ygaJpZM4OYz0F .

AndreaCatania commented 7 years ago

Thanks alot for response!

I've rewrite the SCsub according to what you said. but the problem is not resolved

#!/usr/bin/env python

Import('env')

thirdparty_dir = "#thirdparty/Bullet/"
thirdparty_lib = thirdparty_dir + "Win64/lib/"

env_Bullet = env.Clone()

bullet_libs = [
        "Bullet2FileLoader",
        "Bullet3Collision",
        "Bullet3Common",
        "Bullet3Dynamics",
        "Bullet3Geometry",
        "Bullet3OpenCL_clew",
        "BulletCollision",
        "BulletDynamics",
        "BulletInverseDynamics",
        "BulletSoftBody",
        "LinearMath"
    ]

env_Bullet.Append(CPPPATH=[thirdparty_dir + "/include/"])

bullet_libs = [thirdparty_lib + file + ".lib" for file in bullet_libs]

env_Bullet.Append(LIBS=bullet_libs)

env_Bullet.add_source_files(env.modules_sources, "*.cpp")
AndreaCatania commented 7 years ago

@reduz So your idea is to insert directly Bullet source? In This case is necessary to write each .cpp file in the SCsub file?

akien-mga commented 7 years ago

How about this?

#!/usr/bin/env python

Import('env')

env_Bullet = env.Clone()

thirdparty_dir = "#thirdparty/Bullet/"

bullet_libs = [
        "Bullet2FileLoader",
        "Bullet3Collision",
        "Bullet3Common",
        "Bullet3Dynamics",
        "Bullet3Geometry",
        "Bullet3OpenCL_clew",
        "BulletCollision",
        "BulletDynamics",
        "BulletInverseDynamics",
        "BulletSoftBody",
        "LinearMath"
    ]

env_Bullet.Append(CPPPATH=[thirdparty_dir + "/include/"])
env_Bullet.Append(LIBPATH=[thirdparty_dir + "/Win64/lib/"])
env_Bullet.Append(LIBS=bullet_libs)

env_Bullet.add_source_files(env.modules_sources, "*.cpp")
AndreaCatania commented 7 years ago

It doens't work

But I need to specify something in the c++ code?

Since the Bullet header are under /bullet folder the inclusion are /bullet/LinearMath/... so I've changed all inclusion into the bullet headers files from LinearMath/ to bullet/LinearMath/. Do you think this could be the problem?

However here the full error code:

14:48:51: Running steps for project godot...
14:48:52: Starting: "C:\Python27\scons.bat" platform=windows target=debug -j 8
scons: Reading SConscript files ...
Detected MSVC compiler: amd64
Compiled program architecture will be a 64 bit executable (forcing bits=64).

scons: warning: Ignoring missing SConscript 'servers\spatial_sound\SCsub'
File "D:\WorkSpace\GitHubProjects\godot\servers\SCsub", line 14, in <module>

scons: warning: Ignoring missing SConscript 'servers\spatial_sound_2d\SCsub'
File "D:\WorkSpace\GitHubProjects\godot\servers\SCsub", line 15, in <module>
('translations: ', ['D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\ar.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\bg.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\bn.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\ca.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\cs.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\da.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\de.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\de_CH.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\el.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\es.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\es_AR.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\fa.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\fi.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\fr.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\hu.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\id.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\it.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\ja.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\ko.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\nb.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\nl.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\pl.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\pr.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\pt_BR.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\pt_PT.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\ru.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\sk.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\sl.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\th.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\tr.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\ur_PK.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\zh_CN.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\zh_HK.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\zh_TW.po'])
('fonts: ', ['D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\DroidSans.ttf', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\DroidSansArabic.ttf', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\DroidSansFallback.ttf', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\DroidSansHebrew.ttf', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\DroidSansJapanese.ttf', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\DroidSansThai.ttf', ['D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\source_code_pro.otf']])
scons: done reading SConscript files.
scons: Building targets ...
link /nologo /SUBSYSTEM:CONSOLE /DEBUG winmm.lib opengl32.lib dsound.lib kernel32.lib ole32.lib oleaut32.lib user32.lib gdi32.lib IPHLPAPI.lib Shlwapi.lib wsock32.lib Ws2_32.lib shell32.lib advapi32.lib dinput8.lib dxguid.lib /OUT:bin\godot.windows.tools.64.exe "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\Lib" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64" main\main.windows.tools.64.lib main\tests\tests.windows.tools.64.lib modules\modules.windows.tools.64.lib drivers\drivers.windows.tools.64.lib editor\editor.windows.tools.64.lib scene\scene.windows.tools.64.lib servers\servers.windows.tools.64.lib core\core.windows.tools.64.lib modules\freetype\freetype_builtin.windows.tools.64.lib platform\windows\godot_win.windows.tools.64.obj platform\windows\context_gl_win.windows.tools.64.obj platform\windows\os_windows.windows.tools.64.obj platform\windows\ctxgl_procaddr.windows.tools.64.obj platform\windows\key_mapping_win.windows.tools.64.obj platform\windows\tcp_server_winsock.windows.tools.64.obj platform\windows\packet_peer_udp_winsock.windows.tools.64.obj platform\windows\stream_peer_winsock.windows.tools.64.obj platform\windows\joypad.windows.tools.64.obj platform\windows\power_windows.windows.tools.64.obj platform\windows\godot_res.windows.tools.64.obj
   Creating library bin\godot.windows.tools.64.lib and object bin\godot.windows.tools.64.exp
modules.windows.tools.64.lib(ConeTwistJointBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(Generic6DOFJointBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(PinJointBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(SliderJointBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(SpaceBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(CollisionObjectBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(AreaBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(SpaceBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btDefaultCollisionConfiguration::btDefaultCollisionConfiguration(struct btDefaultCollisionConstructionInfo const &)" (??0btDefaultCollisionConfiguration@@QEAA@AEBUbtDefaultCollisionConstructionInfo@@@Z) referenced in function "private: void __cdecl SpaceBullet::createEmptyWorld(void)" (?createEmptyWorld@SpaceBullet@@AEAAXXZ)
modules.windows.tools.64.lib(SpaceBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btDbvtBroadphase::btDbvtBroadphase(class btOverlappingPairCache *)" (??0btDbvtBroadphase@@QEAA@PEAVbtOverlappingPairCache@@@Z) referenced in function "private: void __cdecl SpaceBullet::createEmptyWorld(void)" (?createEmptyWorld@SpaceBullet@@AEAAXXZ)
modules.windows.tools.64.lib(SpaceBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btDiscreteDynamicsWorld::btDiscreteDynamicsWorld(class btDispatcher *,class btBroadphaseInterface *,class btConstraintSolver *,class btCollisionConfiguration *)" (??0btDiscreteDynamicsWorld@@QEAA@PEAVbtDispatcher@@PEAVbtBroadphaseInterface@@PEAVbtConstraintSolver@@PEAVbtCollisionConfiguration@@@Z) referenced in function "private: void __cdecl SpaceBullet::createEmptyWorld(void)" (?createEmptyWorld@SpaceBullet@@AEAAXXZ)
modules.windows.tools.64.lib(SpaceBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btSequentialImpulseConstraintSolver::btSequentialImpulseConstraintSolver(void)" (??0btSequentialImpulseConstraintSolver@@QEAA@XZ) referenced in function "private: void __cdecl SpaceBullet::createEmptyWorld(void)" (?createEmptyWorld@SpaceBullet@@AEAAXXZ)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "void __cdecl btAlignedFreeInternal(void *)" (?btAlignedFreeInternal@@YAXPEAX@Z) referenced in function "public: static void __cdecl btConvexInternalShape::operator delete(void *)" (??3btConvexInternalShape@@SAXPEAX@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionShape::getBoundingSphere(class btVector3 &,float &)const " (?getBoundingSphere@btCollisionShape@@UEBAXAEAVbtVector3@@AEAM@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual float __cdecl btCollisionShape::getAngularMotionDisc(void)const " (?getAngularMotionDisc@btCollisionShape@@UEBAMXZ)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual float __cdecl btCollisionShape::getContactBreakingThreshold(float)const " (?getContactBreakingThreshold@btCollisionShape@@UEBAMM@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: virtual char const * __cdecl btCollisionShape::serialize(void *,class btSerializer *)const " (?serialize@btCollisionShape@@UEBAPEBDPEAXPEAVbtSerializer@@@Z) referenced in function "public: virtual char const * __cdecl btConvexInternalShape::serialize(void *,class btSerializer *)const " (?serialize@btConvexInternalShape@@UEBAPEBDPEAXPEAVbtSerializer@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionShape::serializeSingleShape(class btSerializer *)const " (?serializeSingleShape@btCollisionShape@@UEBAXPEAVbtSerializer@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: virtual __cdecl btConvexShape::~btConvexShape(void)" (??1btConvexShape@@UEAA@XZ) referenced in function "public: virtual __cdecl btConvexInternalShape::~btConvexInternalShape(void)" (??1btConvexInternalShape@@UEAA@XZ)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btConvexShape::project(class btTransform const &,class btVector3 const &,float &,float &,class btVector3 &,class btVector3 &)const " (?project@btConvexShape@@UEBAXAEBVbtTransform@@AEBVbtVector3@@AEAM2AEAV3@3@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "protected: __cdecl btConvexInternalShape::btConvexInternalShape(void)" (??0btConvexInternalShape@@IEAA@XZ) referenced in function "public: __cdecl btSphereShape::btSphereShape(float)" (??0btSphereShape@@QEAA@M@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual class btVector3 __cdecl btConvexInternalShape::localGetSupportingVertex(class btVector3 const &)const " (?localGetSupportingVertex@btConvexInternalShape@@UEBA?AVbtVector3@@AEBV2@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btConvexInternalShape::getAabbSlow(class btTransform const &,class btVector3 &,class btVector3 &)const " (?getAabbSlow@btConvexInternalShape@@UEBAXAEBVbtTransform@@AEAVbtVector3@@1@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btConvexInternalShape::setLocalScaling(class btVector3 const &)" (?setLocalScaling@btConvexInternalShape@@UEAAXAEBVbtVector3@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btPolyhedralConvexAabbCachingShape::recalcLocalAabb(void)" (?recalcLocalAabb@btPolyhedralConvexAabbCachingShape@@QEAAXXZ) referenced in function "private: void __cdecl ConvexPolygonShapeBullet::setup(class Vector<struct Vector3> const &)" (?setup@ConvexPolygonShapeBullet@@AEAAXAEBV?$Vector@UVector3@@@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btBoxShape::btBoxShape(class btVector3 const &)" (??0btBoxShape@@QEAA@AEBVbtVector3@@@Z) referenced in function "private: void __cdecl BoxShapeBullet::setup(struct Vector3 const &)" (?setup@BoxShapeBullet@@AEAAXAEBUVector3@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual class btVector3 __cdecl btSphereShape::localGetSupportingVertex(class btVector3 const &)const " (?localGetSupportingVertex@btSphereShape@@UEBA?AVbtVector3@@AEBV2@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual class btVector3 __cdecl btSphereShape::localGetSupportingVertexWithoutMargin(class btVector3 const &)const " (?localGetSupportingVertexWithoutMargin@btSphereShape@@UEBA?AVbtVector3@@AEBV2@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btSphereShape::batchedUnitVectorGetSupportingVertexWithoutMargin(class btVector3 const *,class btVector3 *,int)const " (?batchedUnitVectorGetSupportingVertexWithoutMargin@btSphereShape@@UEBAXPEBVbtVector3@@PEAV2@H@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btSphereShape::calculateLocalInertia(float,class btVector3 &)const " (?calculateLocalInertia@btSphereShape@@UEBAXMAEAVbtVector3@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btSphereShape::getAabb(class btTransform const &,class btVector3 &,class btVector3 &)const " (?getAabb@btSphereShape@@UEBAXAEBVbtTransform@@AEAVbtVector3@@1@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btCapsuleShape::btCapsuleShape(float,float)" (??0btCapsuleShape@@QEAA@MM@Z) referenced in function "private: void __cdecl CapsuleShapeBullet::setup(float,float)" (?setup@CapsuleShapeBullet@@AEAAXMM@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btStaticPlaneShape::btStaticPlaneShape(class btVector3 const &,float)" (??0btStaticPlaneShape@@QEAA@AEBVbtVector3@@M@Z) referenced in function "private: void __cdecl PlaneShapeBullet::setup(class Plane const &)" (?setup@PlaneShapeBullet@@AEAAXAEBVPlane@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btConvexHullShape::btConvexHullShape(float const *,int,int)" (??0btConvexHullShape@@QEAA@PEBMHH@Z) referenced in function "private: void __cdecl ConvexPolygonShapeBullet::setup(class Vector<struct Vector3> const &)" (?setup@ConvexPolygonShapeBullet@@AEAAXAEBV?$Vector@UVector3@@@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btConvexHullShape::addPoint(class btVector3 const &,bool)" (?addPoint@btConvexHullShape@@QEAAXAEBVbtVector3@@_N@Z) referenced in function "private: void __cdecl ConvexPolygonShapeBullet::setup(class Vector<struct Vector3> const &)" (?setup@ConvexPolygonShapeBullet@@AEAAXAEBV?$Vector@UVector3@@@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btTriangleMesh::btTriangleMesh(bool,bool)" (??0btTriangleMesh@@QEAA@_N0@Z) referenced in function "private: void __cdecl ConcavePolygonShapeBullet::setup(class PoolVector<struct Vector3>)" (?setup@ConcavePolygonShapeBullet@@AEAAXV?$PoolVector@UVector3@@@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btTriangleMesh::addTriangle(class btVector3 const &,class btVector3 const &,class btVector3 const &,bool)" (?addTriangle@btTriangleMesh@@QEAAXAEBVbtVector3@@00_N@Z) referenced in function "private: void __cdecl ConcavePolygonShapeBullet::setup(class PoolVector<struct Vector3>)" (?setup@ConcavePolygonShapeBullet@@AEAAXV?$PoolVector@UVector3@@@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btBvhTriangleMeshShape::btBvhTriangleMeshShape(class btStridingMeshInterface *,bool,bool)" (??0btBvhTriangleMeshShape@@QEAA@PEAVbtStridingMeshInterface@@_N1@Z) referenced in function "private: void __cdecl ConcavePolygonShapeBullet::setup(class PoolVector<struct Vector3>)" (?setup@ConcavePolygonShapeBullet@@AEAAXV?$PoolVector@UVector3@@@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btHeightfieldTerrainShape::btHeightfieldTerrainShape(int,int,void const *,float,float,float,int,enum PHY_ScalarType,bool)" (??0btHeightfieldTerrainShape@@QEAA@HHPEBXMMMHW4PHY_ScalarType@@_N@Z) referenced in function "private: void __cdecl HeightMapShapeBullet::setup(class PoolVector<float> &,int,int,float)" (?setup@HeightMapShapeBullet@@AEAAXAEAV?$PoolVector@M@@HHM@Z)
modules.windows.tools.64.lib(CollisionObjectBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btCompoundShape::btCompoundShape(bool,int)" (??0btCompoundShape@@QEAA@_NH@Z) referenced in function "public: __cdecl CollisionObjectBullet::CollisionObjectBullet(enum CollisionObjectBullet::Type)" (??0CollisionObjectBullet@@QEAA@W4Type@0@@Z)
modules.windows.tools.64.lib(CollisionObjectBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btCompoundShape::addChildShape(class btTransform const &,class btCollisionShape *)" (?addChildShape@btCompoundShape@@QEAAXAEBVbtTransform@@PEAVbtCollisionShape@@@Z) referenced in function "public: void __cdecl CollisionObjectBullet::addShape(class ShapeBullet *,class Transform const &)" (?addShape@CollisionObjectBullet@@QEAAXPEAVShapeBullet@@AEBVTransform@@@Z)
modules.windows.tools.64.lib(CollisionObjectBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btCompoundShape::removeChildShapeByIndex(int)" (?removeChildShapeByIndex@btCompoundShape@@QEAAXH@Z) referenced in function "private: void __cdecl CollisionObjectBullet::_removeShape(int)" (?_removeShape@CollisionObjectBullet@@AEAAXH@Z)
modules.windows.tools.64.lib(CollisionObjectBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btCompoundShape::updateChildTransform(int,class btTransform const &,bool)" (?updateChildTransform@btCompoundShape@@QEAAXHAEBVbtTransform@@_N@Z) referenced in function "public: void __cdecl CollisionObjectBullet::setShapeTransform(int,class Transform const &)" (?setShapeTransform@CollisionObjectBullet@@QEAAXHAEBVTransform@@@Z)
modules.windows.tools.64.lib(AreaBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btGhostObject::btGhostObject(void)" (??0btGhostObject@@QEAA@XZ) referenced in function "public: __cdecl AreaBullet::AreaBullet(void)" (??0AreaBullet@@QEAA@XZ)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btCollisionObject::setActivationState(int)const " (?setActivationState@btCollisionObject@@QEBAXH@Z) referenced in function "public: void __cdecl BodyBullet::set_param(enum PhysicsServer::BodyParameter,float)" (?set_param@BodyBullet@@QEAAXW4BodyParameter@PhysicsServer@@M@Z)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btCollisionObject::activate(bool)const " (?activate@btCollisionObject@@QEBAX_N@Z) referenced in function "public: void __cdecl BodyBullet::set_active(bool)" (?set_active@BodyBullet@@QEAAX_N@Z)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btRigidBody::btRigidBody(struct btRigidBody::btRigidBodyConstructionInfo const &)" (??0btRigidBody@@QEAA@AEBUbtRigidBodyConstructionInfo@0@@Z) referenced in function "public: __cdecl BodyBullet::BodyBullet(void)" (??0BodyBullet@@QEAA@XZ)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btRigidBody::setDamping(float,float)" (?setDamping@btRigidBody@@QEAAXMM@Z) referenced in function "public: void __cdecl BodyBullet::set_param(enum PhysicsServer::BodyParameter,float)" (?set_param@BodyBullet@@QEAAXW4BodyParameter@PhysicsServer@@M@Z)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btRigidBody::setMassProps(float,class btVector3 const &)" (?setMassProps@btRigidBody@@QEAAXMAEBVbtVector3@@@Z) referenced in function "public: void __cdecl BodyBullet::set_param(enum PhysicsServer::BodyParameter,float)" (?set_param@BodyBullet@@QEAAXW4BodyParameter@PhysicsServer@@M@Z)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btRigidBody::updateInertiaTensor(void)" (?updateInertiaTensor@btRigidBody@@QEAAXXZ) referenced in function "public: void __cdecl BodyBullet::set_param(enum PhysicsServer::BodyParameter,float)" (?set_param@BodyBullet@@QEAAXW4BodyParameter@PhysicsServer@@M@Z)
modules.windows.tools.64.lib(PinJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btPoint2PointConstraint::btPoint2PointConstraint(class btRigidBody &,class btRigidBody &,class btVector3 const &,class btVector3 const &)" (??0btPoint2PointConstraint@@QEAA@AEAVbtRigidBody@@0AEBVbtVector3@@1@Z) referenced in function "public: __cdecl PinJointBullet::PinJointBullet(class BodyBullet *,struct Vector3 const &,class BodyBullet *,struct Vector3 const &)" (??0PinJointBullet@@QEAA@PEAVBodyBullet@@AEBUVector3@@01@Z)
modules.windows.tools.64.lib(PinJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btPoint2PointConstraint::btPoint2PointConstraint(class btRigidBody &,class btVector3 const &)" (??0btPoint2PointConstraint@@QEAA@AEAVbtRigidBody@@AEBVbtVector3@@@Z) referenced in function "public: __cdecl PinJointBullet::PinJointBullet(class BodyBullet *,struct Vector3 const &,class BodyBullet *,struct Vector3 const &)" (??0PinJointBullet@@QEAA@PEAVBodyBullet@@AEBUVector3@@01@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btAngularLimit::set(float,float,float,float,float)" (?set@btAngularLimit@@QEAAXMMMMM@Z) referenced in function "public: void __cdecl btHingeConstraint::setLimit(float,float,float,float,float)" (?setLimit@btHingeConstraint@@QEAAXMMMMM@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: float __cdecl btAngularLimit::getLow(void)const " (?getLow@btAngularLimit@@QEBAMXZ) referenced in function "public: float __cdecl btHingeConstraint::getLowerLimit(void)const " (?getLowerLimit@btHingeConstraint@@QEBAMXZ)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: float __cdecl btAngularLimit::getHigh(void)const " (?getHigh@btAngularLimit@@QEBAMXZ) referenced in function "public: float __cdecl btHingeConstraint::getUpperLimit(void)const " (?getUpperLimit@btHingeConstraint@@QEBAMXZ)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btHingeConstraint::btHingeConstraint(class btRigidBody &,class btRigidBody &,class btVector3 const &,class btVector3 const &,class btVector3 const &,class btVector3 const &,bool)" (??0btHingeConstraint@@QEAA@AEAVbtRigidBody@@0AEBVbtVector3@@111_N@Z) referenced in function "public: __cdecl HingeJointBullet::HingeJointBullet(class BodyBullet *,class BodyBullet *,struct Vector3 const &,struct Vector3 const &,struct Vector3 const &,struct Vector3 const &)" (??0HingeJointBullet@@QEAA@PEAVBodyBullet@@0AEBUVector3@@111@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btHingeConstraint::btHingeConstraint(class btRigidBody &,class btVector3 const &,class btVector3 const &,bool)" (??0btHingeConstraint@@QEAA@AEAVbtRigidBody@@AEBVbtVector3@@1_N@Z) referenced in function "public: __cdecl HingeJointBullet::HingeJointBullet(class BodyBullet *,class BodyBullet *,struct Vector3 const &,struct Vector3 const &,struct Vector3 const &,struct Vector3 const &)" (??0HingeJointBullet@@QEAA@PEAVBodyBullet@@0AEBUVector3@@111@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btHingeConstraint::btHingeConstraint(class btRigidBody &,class btRigidBody &,class btTransform const &,class btTransform const &,bool)" (??0btHingeConstraint@@QEAA@AEAVbtRigidBody@@0AEBVbtTransform@@1_N@Z) referenced in function "public: __cdecl HingeJointBullet::HingeJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &)" (??0HingeJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btHingeConstraint::btHingeConstraint(class btRigidBody &,class btTransform const &,bool)" (??0btHingeConstraint@@QEAA@AEAVbtRigidBody@@AEBVbtTransform@@_N@Z) referenced in function "public: __cdecl HingeJointBullet::HingeJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &)" (??0HingeJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: float __cdecl btHingeConstraint::getHingeAngle(void)" (?getHingeAngle@btHingeConstraint@@QEAAMXZ) referenced in function "public: float __cdecl HingeJointBullet::get_hinge_angle(void)" (?get_hinge_angle@HingeJointBullet@@QEAAMXZ)
modules.windows.tools.64.lib(SliderJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btSliderConstraint::btSliderConstraint(class btRigidBody &,class btRigidBody &,class btTransform const &,class btTransform const &,bool)" (??0btSliderConstraint@@QEAA@AEAVbtRigidBody@@0AEBVbtTransform@@1_N@Z) referenced in function "public: __cdecl SliderJointBullet::SliderJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &)" (??0SliderJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1@Z)
modules.windows.tools.64.lib(SliderJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btSliderConstraint::btSliderConstraint(class btRigidBody &,class btTransform const &,bool)" (??0btSliderConstraint@@QEAA@AEAVbtRigidBody@@AEBVbtTransform@@_N@Z) referenced in function "public: __cdecl SliderJointBullet::SliderJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &)" (??0SliderJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1@Z)
modules.windows.tools.64.lib(ConeTwistJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btConeTwistConstraint::btConeTwistConstraint(class btRigidBody &,class btRigidBody &,class btTransform const &,class btTransform const &)" (??0btConeTwistConstraint@@QEAA@AEAVbtRigidBody@@0AEBVbtTransform@@1@Z) referenced in function "public: __cdecl ConeTwistJointBullet::ConeTwistJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &)" (??0ConeTwistJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1@Z)
modules.windows.tools.64.lib(ConeTwistJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btConeTwistConstraint::btConeTwistConstraint(class btRigidBody &,class btTransform const &)" (??0btConeTwistConstraint@@QEAA@AEAVbtRigidBody@@AEBVbtTransform@@@Z) referenced in function "public: __cdecl ConeTwistJointBullet::ConeTwistJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &)" (??0ConeTwistJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1@Z)
modules.windows.tools.64.lib(Generic6DOFJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btGeneric6DofConstraint::btGeneric6DofConstraint(class btRigidBody &,class btRigidBody &,class btTransform const &,class btTransform const &,bool)" (??0btGeneric6DofConstraint@@QEAA@AEAVbtRigidBody@@0AEBVbtTransform@@1_N@Z) referenced in function "public: __cdecl Generic6DOFJointBullet::Generic6DOFJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &,bool)" (??0Generic6DOFJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1_N@Z)
modules.windows.tools.64.lib(Generic6DOFJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btGeneric6DofConstraint::btGeneric6DofConstraint(class btRigidBody &,class btTransform const &,bool)" (??0btGeneric6DofConstraint@@QEAA@AEAVbtRigidBody@@AEBVbtTransform@@_N@Z) referenced in function "public: __cdecl Generic6DOFJointBullet::Generic6DOFJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &,bool)" (??0Generic6DOFJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1_N@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btCollisionDispatcher::btCollisionDispatcher(class btCollisionConfiguration *)" (??0btCollisionDispatcher@@QEAA@PEAVbtCollisionConfiguration@@@Z) referenced in function "public: __cdecl GodotCollisionDispatcher::GodotCollisionDispatcher(class btCollisionConfiguration *)" (??0GodotCollisionDispatcher@@QEAA@PEAVbtCollisionConfiguration@@@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: virtual __cdecl btCollisionDispatcher::~btCollisionDispatcher(void)" (??1btCollisionDispatcher@@UEAA@XZ) referenced in function "public: virtual __cdecl GodotCollisionDispatcher::~GodotCollisionDispatcher(void)" (??1GodotCollisionDispatcher@@UEAA@XZ)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual class btPersistentManifold * __cdecl btCollisionDispatcher::getNewManifold(class btCollisionObject const *,class btCollisionObject const *)" (?getNewManifold@btCollisionDispatcher@@UEAAPEAVbtPersistentManifold@@PEBVbtCollisionObject@@0@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionDispatcher::releaseManifold(class btPersistentManifold *)" (?releaseManifold@btCollisionDispatcher@@UEAAXPEAVbtPersistentManifold@@@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionDispatcher::clearManifold(class btPersistentManifold *)" (?clearManifold@btCollisionDispatcher@@UEAAXPEAVbtPersistentManifold@@@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual class btCollisionAlgorithm * __cdecl btCollisionDispatcher::findAlgorithm(struct btCollisionObjectWrapper const *,struct btCollisionObjectWrapper const *,class btPersistentManifold *,enum ebtDispatcherQueryType)" (?findAlgorithm@btCollisionDispatcher@@UEAAPEAVbtCollisionAlgorithm@@PEBUbtCollisionObjectWrapper@@0PEAVbtPersistentManifold@@W4ebtDispatcherQueryType@@@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: virtual bool __cdecl btCollisionDispatcher::needsCollision(class btCollisionObject const *,class btCollisionObject const *)" (?needsCollision@btCollisionDispatcher@@UEAA_NPEBVbtCollisionObject@@0@Z) referenced in function "public: virtual bool __cdecl GodotCollisionDispatcher::needsCollision(class btCollisionObject const *,class btCollisionObject const *)" (?needsCollision@GodotCollisionDispatcher@@UEAA_NPEBVbtCollisionObject@@0@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: virtual bool __cdecl btCollisionDispatcher::needsResponse(class btCollisionObject const *,class btCollisionObject const *)" (?needsResponse@btCollisionDispatcher@@UEAA_NPEBVbtCollisionObject@@0@Z) referenced in function "public: virtual bool __cdecl GodotCollisionDispatcher::needsResponse(class btCollisionObject const *,class btCollisionObject const *)" (?needsResponse@GodotCollisionDispatcher@@UEAA_NPEBVbtCollisionObject@@0@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionDispatcher::dispatchAllCollisionPairs(class btOverlappingPairCache *,struct btDispatcherInfo const &,class btDispatcher *)" (?dispatchAllCollisionPairs@btCollisionDispatcher@@UEAAXPEAVbtOverlappingPairCache@@AEBUbtDispatcherInfo@@PEAVbtDispatcher@@@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void * __cdecl btCollisionDispatcher::allocateCollisionAlgorithm(int)" (?allocateCollisionAlgorithm@btCollisionDispatcher@@UEAAPEAXH@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionDispatcher::freeCollisionAlgorithm(void *)" (?freeCollisionAlgorithm@btCollisionDispatcher@@UEAAXPEAX@Z)
bin\godot.windows.tools.64.exe : fatal error LNK1120: 70 unresolved externals
scons: *** [bin\godot.windows.tools.64.exe] Error 1120
scons: building terminated because of errors.
14:49:55: The process "C:\Python27\scons.bat" exited with code 2.
Error while building/deploying project godot (kit: Desktop)
The kit Desktop has configuration issues which might be the root cause for this problem.
When executing step "Custom Process Step"
14:49:56: Elapsed time: 01:04.
vnen commented 7 years ago

LIBS don't work on Windows for some reason, you should do: env.Append(LINKFLAGS=[lib + ".lib" for lib in bullet_libs]).

AndreaCatania commented 7 years ago

@vnen The SCsub now look like:

But it doesn't work

#!/usr/bin/env python

Import('env')

thirdparty_dir = "#thirdparty/Bullet/"
thirdparty_lib = thirdparty_dir + "Win64/lib/"

env_Bullet = env.Clone()

bullet_libs = [
        "Bullet2FileLoader",
        "Bullet3Collision",
        "Bullet3Common",
        "Bullet3Dynamics",
        "Bullet3Geometry",
        "Bullet3OpenCL_clew",
        "BulletCollision",
        "BulletDynamics",
        "BulletInverseDynamics",
        "BulletSoftBody",
        "LinearMath"
    ]

env_Bullet.Append(CPPPATH=[thirdparty_dir + "/include/"])
env_Bullet.Append(LIBPATH=[thirdparty_dir + "/Win64/lib/"])

bullet_libs = [file+'.lib' for file in bullet_libs]
# LIBS doesn't work in windows
env_Bullet.Append(LINKFLAGS=bullet_libs)

env_Bullet.add_source_files(env.modules_sources, "*.cpp")

As you can see in the Build log below, in the section "link" there isn't the path to bullet libs. It's normal?

19:07:41: Running steps for project godot...
19:07:41: Starting: "C:\Python27\scons.bat" platform=windows target=debug -j 8
scons: Reading SConscript files ...
Detected MSVC compiler: amd64
Compiled program architecture will be a 64 bit executable (forcing bits=64).

scons: warning: Ignoring missing SConscript 'servers\spatial_sound\SCsub'
File "D:\WorkSpace\GitHubProjects\godot\servers\SCsub", line 14, in <module>

scons: warning: Ignoring missing SConscript 'servers\spatial_sound_2d\SCsub'
File "D:\WorkSpace\GitHubProjects\godot\servers\SCsub", line 15, in <module>
('translations: ', ['D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\ar.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\bg.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\bn.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\ca.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\cs.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\da.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\de.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\de_CH.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\el.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\es.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\es_AR.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\fa.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\fi.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\fr.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\hu.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\id.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\it.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\ja.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\ko.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\nb.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\nl.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\pl.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\pr.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\pt_BR.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\pt_PT.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\ru.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\sk.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\sl.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\th.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\tr.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\ur_PK.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\zh_CN.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\zh_HK.po', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/translations\\zh_TW.po'])
('fonts: ', ['D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\DroidSans.ttf', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\DroidSansArabic.ttf', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\DroidSansFallback.ttf', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\DroidSansHebrew.ttf', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\DroidSansJapanese.ttf', 'D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\DroidSansThai.ttf', ['D:\\WorkSpace\\GitHubProjects\\godot\\editor/../thirdparty/fonts\\source_code_pro.otf']])
scons: done reading SConscript files.
scons: Building targets ...
link /nologo /SUBSYSTEM:CONSOLE /DEBUG winmm.lib opengl32.lib dsound.lib kernel32.lib ole32.lib oleaut32.lib user32.lib gdi32.lib IPHLPAPI.lib Shlwapi.lib wsock32.lib Ws2_32.lib shell32.lib advapi32.lib dinput8.lib dxguid.lib /OUT:bin\godot.windows.tools.64.exe "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\Lib" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64" main\main.windows.tools.64.lib main\tests\tests.windows.tools.64.lib modules\modules.windows.tools.64.lib drivers\drivers.windows.tools.64.lib editor\editor.windows.tools.64.lib scene\scene.windows.tools.64.lib servers\servers.windows.tools.64.lib core\core.windows.tools.64.lib modules\freetype\freetype_builtin.windows.tools.64.lib platform\windows\godot_win.windows.tools.64.obj platform\windows\context_gl_win.windows.tools.64.obj platform\windows\os_windows.windows.tools.64.obj platform\windows\ctxgl_procaddr.windows.tools.64.obj platform\windows\key_mapping_win.windows.tools.64.obj platform\windows\tcp_server_winsock.windows.tools.64.obj platform\windows\packet_peer_udp_winsock.windows.tools.64.obj platform\windows\stream_peer_winsock.windows.tools.64.obj platform\windows\joypad.windows.tools.64.obj platform\windows\power_windows.windows.tools.64.obj platform\windows\godot_res.windows.tools.64.obj
   Creating library bin\godot.windows.tools.64.lib and object bin\godot.windows.tools.64.exp
modules.windows.tools.64.lib(ConeTwistJointBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(Generic6DOFJointBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(PinJointBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(SliderJointBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(SpaceBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(CollisionObjectBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(AreaBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "void * __cdecl btAlignedAllocInternal(unsigned __int64,int)" (?btAlignedAllocInternal@@YAPEAX_KH@Z)
modules.windows.tools.64.lib(SpaceBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btDefaultCollisionConfiguration::btDefaultCollisionConfiguration(struct btDefaultCollisionConstructionInfo const &)" (??0btDefaultCollisionConfiguration@@QEAA@AEBUbtDefaultCollisionConstructionInfo@@@Z) referenced in function "private: void __cdecl SpaceBullet::createEmptyWorld(void)" (?createEmptyWorld@SpaceBullet@@AEAAXXZ)
modules.windows.tools.64.lib(SpaceBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btDbvtBroadphase::btDbvtBroadphase(class btOverlappingPairCache *)" (??0btDbvtBroadphase@@QEAA@PEAVbtOverlappingPairCache@@@Z) referenced in function "private: void __cdecl SpaceBullet::createEmptyWorld(void)" (?createEmptyWorld@SpaceBullet@@AEAAXXZ)
modules.windows.tools.64.lib(SpaceBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btDiscreteDynamicsWorld::btDiscreteDynamicsWorld(class btDispatcher *,class btBroadphaseInterface *,class btConstraintSolver *,class btCollisionConfiguration *)" (??0btDiscreteDynamicsWorld@@QEAA@PEAVbtDispatcher@@PEAVbtBroadphaseInterface@@PEAVbtConstraintSolver@@PEAVbtCollisionConfiguration@@@Z) referenced in function "private: void __cdecl SpaceBullet::createEmptyWorld(void)" (?createEmptyWorld@SpaceBullet@@AEAAXXZ)
modules.windows.tools.64.lib(SpaceBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btSequentialImpulseConstraintSolver::btSequentialImpulseConstraintSolver(void)" (??0btSequentialImpulseConstraintSolver@@QEAA@XZ) referenced in function "private: void __cdecl SpaceBullet::createEmptyWorld(void)" (?createEmptyWorld@SpaceBullet@@AEAAXXZ)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "void __cdecl btAlignedFreeInternal(void *)" (?btAlignedFreeInternal@@YAXPEAX@Z) referenced in function "public: static void __cdecl btConvexInternalShape::operator delete(void *)" (??3btConvexInternalShape@@SAXPEAX@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionShape::getBoundingSphere(class btVector3 &,float &)const " (?getBoundingSphere@btCollisionShape@@UEBAXAEAVbtVector3@@AEAM@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual float __cdecl btCollisionShape::getAngularMotionDisc(void)const " (?getAngularMotionDisc@btCollisionShape@@UEBAMXZ)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual float __cdecl btCollisionShape::getContactBreakingThreshold(float)const " (?getContactBreakingThreshold@btCollisionShape@@UEBAMM@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: virtual char const * __cdecl btCollisionShape::serialize(void *,class btSerializer *)const " (?serialize@btCollisionShape@@UEBAPEBDPEAXPEAVbtSerializer@@@Z) referenced in function "public: virtual char const * __cdecl btConvexInternalShape::serialize(void *,class btSerializer *)const " (?serialize@btConvexInternalShape@@UEBAPEBDPEAXPEAVbtSerializer@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionShape::serializeSingleShape(class btSerializer *)const " (?serializeSingleShape@btCollisionShape@@UEBAXPEAVbtSerializer@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: virtual __cdecl btConvexShape::~btConvexShape(void)" (??1btConvexShape@@UEAA@XZ) referenced in function "public: virtual __cdecl btConvexInternalShape::~btConvexInternalShape(void)" (??1btConvexInternalShape@@UEAA@XZ)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btConvexShape::project(class btTransform const &,class btVector3 const &,float &,float &,class btVector3 &,class btVector3 &)const " (?project@btConvexShape@@UEBAXAEBVbtTransform@@AEBVbtVector3@@AEAM2AEAV3@3@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "protected: __cdecl btConvexInternalShape::btConvexInternalShape(void)" (??0btConvexInternalShape@@IEAA@XZ) referenced in function "public: __cdecl btSphereShape::btSphereShape(float)" (??0btSphereShape@@QEAA@M@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual class btVector3 __cdecl btConvexInternalShape::localGetSupportingVertex(class btVector3 const &)const " (?localGetSupportingVertex@btConvexInternalShape@@UEBA?AVbtVector3@@AEBV2@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btConvexInternalShape::getAabbSlow(class btTransform const &,class btVector3 &,class btVector3 &)const " (?getAabbSlow@btConvexInternalShape@@UEBAXAEBVbtTransform@@AEAVbtVector3@@1@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btConvexInternalShape::setLocalScaling(class btVector3 const &)" (?setLocalScaling@btConvexInternalShape@@UEAAXAEBVbtVector3@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btPolyhedralConvexAabbCachingShape::recalcLocalAabb(void)" (?recalcLocalAabb@btPolyhedralConvexAabbCachingShape@@QEAAXXZ) referenced in function "private: void __cdecl ConvexPolygonShapeBullet::setup(class Vector<struct Vector3> const &)" (?setup@ConvexPolygonShapeBullet@@AEAAXAEBV?$Vector@UVector3@@@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btBoxShape::btBoxShape(class btVector3 const &)" (??0btBoxShape@@QEAA@AEBVbtVector3@@@Z) referenced in function "private: void __cdecl BoxShapeBullet::setup(struct Vector3 const &)" (?setup@BoxShapeBullet@@AEAAXAEBUVector3@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual class btVector3 __cdecl btSphereShape::localGetSupportingVertex(class btVector3 const &)const " (?localGetSupportingVertex@btSphereShape@@UEBA?AVbtVector3@@AEBV2@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual class btVector3 __cdecl btSphereShape::localGetSupportingVertexWithoutMargin(class btVector3 const &)const " (?localGetSupportingVertexWithoutMargin@btSphereShape@@UEBA?AVbtVector3@@AEBV2@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btSphereShape::batchedUnitVectorGetSupportingVertexWithoutMargin(class btVector3 const *,class btVector3 *,int)const " (?batchedUnitVectorGetSupportingVertexWithoutMargin@btSphereShape@@UEBAXPEBVbtVector3@@PEAV2@H@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btSphereShape::calculateLocalInertia(float,class btVector3 &)const " (?calculateLocalInertia@btSphereShape@@UEBAXMAEAVbtVector3@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btSphereShape::getAabb(class btTransform const &,class btVector3 &,class btVector3 &)const " (?getAabb@btSphereShape@@UEBAXAEBVbtTransform@@AEAVbtVector3@@1@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btCapsuleShape::btCapsuleShape(float,float)" (??0btCapsuleShape@@QEAA@MM@Z) referenced in function "private: void __cdecl CapsuleShapeBullet::setup(float,float)" (?setup@CapsuleShapeBullet@@AEAAXMM@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btStaticPlaneShape::btStaticPlaneShape(class btVector3 const &,float)" (??0btStaticPlaneShape@@QEAA@AEBVbtVector3@@M@Z) referenced in function "private: void __cdecl PlaneShapeBullet::setup(class Plane const &)" (?setup@PlaneShapeBullet@@AEAAXAEBVPlane@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btConvexHullShape::btConvexHullShape(float const *,int,int)" (??0btConvexHullShape@@QEAA@PEBMHH@Z) referenced in function "private: void __cdecl ConvexPolygonShapeBullet::setup(class Vector<struct Vector3> const &)" (?setup@ConvexPolygonShapeBullet@@AEAAXAEBV?$Vector@UVector3@@@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btConvexHullShape::addPoint(class btVector3 const &,bool)" (?addPoint@btConvexHullShape@@QEAAXAEBVbtVector3@@_N@Z) referenced in function "private: void __cdecl ConvexPolygonShapeBullet::setup(class Vector<struct Vector3> const &)" (?setup@ConvexPolygonShapeBullet@@AEAAXAEBV?$Vector@UVector3@@@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btTriangleMesh::btTriangleMesh(bool,bool)" (??0btTriangleMesh@@QEAA@_N0@Z) referenced in function "private: void __cdecl ConcavePolygonShapeBullet::setup(class PoolVector<struct Vector3>)" (?setup@ConcavePolygonShapeBullet@@AEAAXV?$PoolVector@UVector3@@@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btTriangleMesh::addTriangle(class btVector3 const &,class btVector3 const &,class btVector3 const &,bool)" (?addTriangle@btTriangleMesh@@QEAAXAEBVbtVector3@@00_N@Z) referenced in function "private: void __cdecl ConcavePolygonShapeBullet::setup(class PoolVector<struct Vector3>)" (?setup@ConcavePolygonShapeBullet@@AEAAXV?$PoolVector@UVector3@@@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btBvhTriangleMeshShape::btBvhTriangleMeshShape(class btStridingMeshInterface *,bool,bool)" (??0btBvhTriangleMeshShape@@QEAA@PEAVbtStridingMeshInterface@@_N1@Z) referenced in function "private: void __cdecl ConcavePolygonShapeBullet::setup(class PoolVector<struct Vector3>)" (?setup@ConcavePolygonShapeBullet@@AEAAXV?$PoolVector@UVector3@@@@@Z)
modules.windows.tools.64.lib(ShapeBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btHeightfieldTerrainShape::btHeightfieldTerrainShape(int,int,void const *,float,float,float,int,enum PHY_ScalarType,bool)" (??0btHeightfieldTerrainShape@@QEAA@HHPEBXMMMHW4PHY_ScalarType@@_N@Z) referenced in function "private: void __cdecl HeightMapShapeBullet::setup(class PoolVector<float> &,int,int,float)" (?setup@HeightMapShapeBullet@@AEAAXAEAV?$PoolVector@M@@HHM@Z)
modules.windows.tools.64.lib(CollisionObjectBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btCompoundShape::btCompoundShape(bool,int)" (??0btCompoundShape@@QEAA@_NH@Z) referenced in function "public: __cdecl CollisionObjectBullet::CollisionObjectBullet(enum CollisionObjectBullet::Type)" (??0CollisionObjectBullet@@QEAA@W4Type@0@@Z)
modules.windows.tools.64.lib(CollisionObjectBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btCompoundShape::addChildShape(class btTransform const &,class btCollisionShape *)" (?addChildShape@btCompoundShape@@QEAAXAEBVbtTransform@@PEAVbtCollisionShape@@@Z) referenced in function "public: void __cdecl CollisionObjectBullet::addShape(class ShapeBullet *,class Transform const &)" (?addShape@CollisionObjectBullet@@QEAAXPEAVShapeBullet@@AEBVTransform@@@Z)
modules.windows.tools.64.lib(CollisionObjectBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btCompoundShape::removeChildShapeByIndex(int)" (?removeChildShapeByIndex@btCompoundShape@@QEAAXH@Z) referenced in function "private: void __cdecl CollisionObjectBullet::_removeShape(int)" (?_removeShape@CollisionObjectBullet@@AEAAXH@Z)
modules.windows.tools.64.lib(CollisionObjectBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btCompoundShape::updateChildTransform(int,class btTransform const &,bool)" (?updateChildTransform@btCompoundShape@@QEAAXHAEBVbtTransform@@_N@Z) referenced in function "public: void __cdecl CollisionObjectBullet::setShapeTransform(int,class Transform const &)" (?setShapeTransform@CollisionObjectBullet@@QEAAXHAEBVTransform@@@Z)
modules.windows.tools.64.lib(AreaBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btGhostObject::btGhostObject(void)" (??0btGhostObject@@QEAA@XZ) referenced in function "public: __cdecl AreaBullet::AreaBullet(void)" (??0AreaBullet@@QEAA@XZ)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btCollisionObject::setActivationState(int)const " (?setActivationState@btCollisionObject@@QEBAXH@Z) referenced in function "public: void __cdecl BodyBullet::set_param(enum PhysicsServer::BodyParameter,float)" (?set_param@BodyBullet@@QEAAXW4BodyParameter@PhysicsServer@@M@Z)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btCollisionObject::activate(bool)const " (?activate@btCollisionObject@@QEBAX_N@Z) referenced in function "public: void __cdecl BodyBullet::set_active(bool)" (?set_active@BodyBullet@@QEAAX_N@Z)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btRigidBody::btRigidBody(struct btRigidBody::btRigidBodyConstructionInfo const &)" (??0btRigidBody@@QEAA@AEBUbtRigidBodyConstructionInfo@0@@Z) referenced in function "public: __cdecl BodyBullet::BodyBullet(void)" (??0BodyBullet@@QEAA@XZ)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btRigidBody::setDamping(float,float)" (?setDamping@btRigidBody@@QEAAXMM@Z) referenced in function "public: void __cdecl BodyBullet::set_param(enum PhysicsServer::BodyParameter,float)" (?set_param@BodyBullet@@QEAAXW4BodyParameter@PhysicsServer@@M@Z)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btRigidBody::setMassProps(float,class btVector3 const &)" (?setMassProps@btRigidBody@@QEAAXMAEBVbtVector3@@@Z) referenced in function "public: void __cdecl BodyBullet::set_param(enum PhysicsServer::BodyParameter,float)" (?set_param@BodyBullet@@QEAAXW4BodyParameter@PhysicsServer@@M@Z)
modules.windows.tools.64.lib(BodyBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btRigidBody::updateInertiaTensor(void)" (?updateInertiaTensor@btRigidBody@@QEAAXXZ) referenced in function "public: void __cdecl BodyBullet::set_param(enum PhysicsServer::BodyParameter,float)" (?set_param@BodyBullet@@QEAAXW4BodyParameter@PhysicsServer@@M@Z)
modules.windows.tools.64.lib(PinJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btPoint2PointConstraint::btPoint2PointConstraint(class btRigidBody &,class btRigidBody &,class btVector3 const &,class btVector3 const &)" (??0btPoint2PointConstraint@@QEAA@AEAVbtRigidBody@@0AEBVbtVector3@@1@Z) referenced in function "public: __cdecl PinJointBullet::PinJointBullet(class BodyBullet *,struct Vector3 const &,class BodyBullet *,struct Vector3 const &)" (??0PinJointBullet@@QEAA@PEAVBodyBullet@@AEBUVector3@@01@Z)
modules.windows.tools.64.lib(PinJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btPoint2PointConstraint::btPoint2PointConstraint(class btRigidBody &,class btVector3 const &)" (??0btPoint2PointConstraint@@QEAA@AEAVbtRigidBody@@AEBVbtVector3@@@Z) referenced in function "public: __cdecl PinJointBullet::PinJointBullet(class BodyBullet *,struct Vector3 const &,class BodyBullet *,struct Vector3 const &)" (??0PinJointBullet@@QEAA@PEAVBodyBullet@@AEBUVector3@@01@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: void __cdecl btAngularLimit::set(float,float,float,float,float)" (?set@btAngularLimit@@QEAAXMMMMM@Z) referenced in function "public: void __cdecl btHingeConstraint::setLimit(float,float,float,float,float)" (?setLimit@btHingeConstraint@@QEAAXMMMMM@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: float __cdecl btAngularLimit::getLow(void)const " (?getLow@btAngularLimit@@QEBAMXZ) referenced in function "public: float __cdecl btHingeConstraint::getLowerLimit(void)const " (?getLowerLimit@btHingeConstraint@@QEBAMXZ)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: float __cdecl btAngularLimit::getHigh(void)const " (?getHigh@btAngularLimit@@QEBAMXZ) referenced in function "public: float __cdecl btHingeConstraint::getUpperLimit(void)const " (?getUpperLimit@btHingeConstraint@@QEBAMXZ)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btHingeConstraint::btHingeConstraint(class btRigidBody &,class btRigidBody &,class btVector3 const &,class btVector3 const &,class btVector3 const &,class btVector3 const &,bool)" (??0btHingeConstraint@@QEAA@AEAVbtRigidBody@@0AEBVbtVector3@@111_N@Z) referenced in function "public: __cdecl HingeJointBullet::HingeJointBullet(class BodyBullet *,class BodyBullet *,struct Vector3 const &,struct Vector3 const &,struct Vector3 const &,struct Vector3 const &)" (??0HingeJointBullet@@QEAA@PEAVBodyBullet@@0AEBUVector3@@111@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btHingeConstraint::btHingeConstraint(class btRigidBody &,class btVector3 const &,class btVector3 const &,bool)" (??0btHingeConstraint@@QEAA@AEAVbtRigidBody@@AEBVbtVector3@@1_N@Z) referenced in function "public: __cdecl HingeJointBullet::HingeJointBullet(class BodyBullet *,class BodyBullet *,struct Vector3 const &,struct Vector3 const &,struct Vector3 const &,struct Vector3 const &)" (??0HingeJointBullet@@QEAA@PEAVBodyBullet@@0AEBUVector3@@111@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btHingeConstraint::btHingeConstraint(class btRigidBody &,class btRigidBody &,class btTransform const &,class btTransform const &,bool)" (??0btHingeConstraint@@QEAA@AEAVbtRigidBody@@0AEBVbtTransform@@1_N@Z) referenced in function "public: __cdecl HingeJointBullet::HingeJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &)" (??0HingeJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btHingeConstraint::btHingeConstraint(class btRigidBody &,class btTransform const &,bool)" (??0btHingeConstraint@@QEAA@AEAVbtRigidBody@@AEBVbtTransform@@_N@Z) referenced in function "public: __cdecl HingeJointBullet::HingeJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &)" (??0HingeJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1@Z)
modules.windows.tools.64.lib(HingeJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: float __cdecl btHingeConstraint::getHingeAngle(void)" (?getHingeAngle@btHingeConstraint@@QEAAMXZ) referenced in function "public: float __cdecl HingeJointBullet::get_hinge_angle(void)" (?get_hinge_angle@HingeJointBullet@@QEAAMXZ)
modules.windows.tools.64.lib(SliderJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btSliderConstraint::btSliderConstraint(class btRigidBody &,class btRigidBody &,class btTransform const &,class btTransform const &,bool)" (??0btSliderConstraint@@QEAA@AEAVbtRigidBody@@0AEBVbtTransform@@1_N@Z) referenced in function "public: __cdecl SliderJointBullet::SliderJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &)" (??0SliderJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1@Z)
modules.windows.tools.64.lib(SliderJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btSliderConstraint::btSliderConstraint(class btRigidBody &,class btTransform const &,bool)" (??0btSliderConstraint@@QEAA@AEAVbtRigidBody@@AEBVbtTransform@@_N@Z) referenced in function "public: __cdecl SliderJointBullet::SliderJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &)" (??0SliderJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1@Z)
modules.windows.tools.64.lib(ConeTwistJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btConeTwistConstraint::btConeTwistConstraint(class btRigidBody &,class btRigidBody &,class btTransform const &,class btTransform const &)" (??0btConeTwistConstraint@@QEAA@AEAVbtRigidBody@@0AEBVbtTransform@@1@Z) referenced in function "public: __cdecl ConeTwistJointBullet::ConeTwistJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &)" (??0ConeTwistJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1@Z)
modules.windows.tools.64.lib(ConeTwistJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btConeTwistConstraint::btConeTwistConstraint(class btRigidBody &,class btTransform const &)" (??0btConeTwistConstraint@@QEAA@AEAVbtRigidBody@@AEBVbtTransform@@@Z) referenced in function "public: __cdecl ConeTwistJointBullet::ConeTwistJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &)" (??0ConeTwistJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1@Z)
modules.windows.tools.64.lib(Generic6DOFJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btGeneric6DofConstraint::btGeneric6DofConstraint(class btRigidBody &,class btRigidBody &,class btTransform const &,class btTransform const &,bool)" (??0btGeneric6DofConstraint@@QEAA@AEAVbtRigidBody@@0AEBVbtTransform@@1_N@Z) referenced in function "public: __cdecl Generic6DOFJointBullet::Generic6DOFJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &,bool)" (??0Generic6DOFJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1_N@Z)
modules.windows.tools.64.lib(Generic6DOFJointBullet.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btGeneric6DofConstraint::btGeneric6DofConstraint(class btRigidBody &,class btTransform const &,bool)" (??0btGeneric6DofConstraint@@QEAA@AEAVbtRigidBody@@AEBVbtTransform@@_N@Z) referenced in function "public: __cdecl Generic6DOFJointBullet::Generic6DOFJointBullet(class BodyBullet *,class BodyBullet *,class Transform const &,class Transform const &,bool)" (??0Generic6DOFJointBullet@@QEAA@PEAVBodyBullet@@0AEBVTransform@@1_N@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: __cdecl btCollisionDispatcher::btCollisionDispatcher(class btCollisionConfiguration *)" (??0btCollisionDispatcher@@QEAA@PEAVbtCollisionConfiguration@@@Z) referenced in function "public: __cdecl GodotCollisionDispatcher::GodotCollisionDispatcher(class btCollisionConfiguration *)" (??0GodotCollisionDispatcher@@QEAA@PEAVbtCollisionConfiguration@@@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: virtual __cdecl btCollisionDispatcher::~btCollisionDispatcher(void)" (??1btCollisionDispatcher@@UEAA@XZ) referenced in function "public: virtual __cdecl GodotCollisionDispatcher::~GodotCollisionDispatcher(void)" (??1GodotCollisionDispatcher@@UEAA@XZ)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual class btPersistentManifold * __cdecl btCollisionDispatcher::getNewManifold(class btCollisionObject const *,class btCollisionObject const *)" (?getNewManifold@btCollisionDispatcher@@UEAAPEAVbtPersistentManifold@@PEBVbtCollisionObject@@0@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionDispatcher::releaseManifold(class btPersistentManifold *)" (?releaseManifold@btCollisionDispatcher@@UEAAXPEAVbtPersistentManifold@@@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionDispatcher::clearManifold(class btPersistentManifold *)" (?clearManifold@btCollisionDispatcher@@UEAAXPEAVbtPersistentManifold@@@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual class btCollisionAlgorithm * __cdecl btCollisionDispatcher::findAlgorithm(struct btCollisionObjectWrapper const *,struct btCollisionObjectWrapper const *,class btPersistentManifold *,enum ebtDispatcherQueryType)" (?findAlgorithm@btCollisionDispatcher@@UEAAPEAVbtCollisionAlgorithm@@PEBUbtCollisionObjectWrapper@@0PEAVbtPersistentManifold@@W4ebtDispatcherQueryType@@@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: virtual bool __cdecl btCollisionDispatcher::needsCollision(class btCollisionObject const *,class btCollisionObject const *)" (?needsCollision@btCollisionDispatcher@@UEAA_NPEBVbtCollisionObject@@0@Z) referenced in function "public: virtual bool __cdecl GodotCollisionDispatcher::needsCollision(class btCollisionObject const *,class btCollisionObject const *)" (?needsCollision@GodotCollisionDispatcher@@UEAA_NPEBVbtCollisionObject@@0@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2019: unresolved external symbol "public: virtual bool __cdecl btCollisionDispatcher::needsResponse(class btCollisionObject const *,class btCollisionObject const *)" (?needsResponse@btCollisionDispatcher@@UEAA_NPEBVbtCollisionObject@@0@Z) referenced in function "public: virtual bool __cdecl GodotCollisionDispatcher::needsResponse(class btCollisionObject const *,class btCollisionObject const *)" (?needsResponse@GodotCollisionDispatcher@@UEAA_NPEBVbtCollisionObject@@0@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionDispatcher::dispatchAllCollisionPairs(class btOverlappingPairCache *,struct btDispatcherInfo const &,class btDispatcher *)" (?dispatchAllCollisionPairs@btCollisionDispatcher@@UEAAXPEAVbtOverlappingPairCache@@AEBUbtDispatcherInfo@@PEAVbtDispatcher@@@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void * __cdecl btCollisionDispatcher::allocateCollisionAlgorithm(int)" (?allocateCollisionAlgorithm@btCollisionDispatcher@@UEAAPEAXH@Z)
modules.windows.tools.64.lib(GodotCollisionDispatcher.windows.tools.64.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionDispatcher::freeCollisionAlgorithm(void *)" (?freeCollisionAlgorithm@btCollisionDispatcher@@UEAAXPEAX@Z)
bin\godot.windows.tools.64.exe : fatal error LNK1120: 70 unresolved externals
scons: *** [bin\godot.windows.tools.64.exe] Error 1120
scons: building terminated because of errors.
19:08:15: The process "C:\Python27\scons.bat" exited with code 2.
Error while building/deploying project godot (kit: Desktop)
The kit Desktop has configuration issues which might be the root cause for this problem.
When executing step "Custom Process Step"
19:08:15: Elapsed time: 00:34.
vnen commented 7 years ago

I think you need to do env.Append(LINKFLAGS=bullet_libs) (instead of env_Bullet). If you apply to the cloned environment it won't affect the main binary build.

AndreaCatania commented 7 years ago

Oh I'm a bit further, instead of use the the clone of the env variable now I'm using directly the env variables and I get a different error:

BulletCollision.lib(btDefaultCollisionConfiguration.obj):-1: error: LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in godot_win.windows.tools.64.obj

Is like if the library is included now. But godot is using the MT?

AndreaCatania commented 7 years ago

@vnen We got it at the same time, now I'm compiling Bullet using MT. I let you know

AndreaCatania commented 7 years ago

Now It Build! so at the end the problem was the cloning of env and the LIBS that don't work in windows. I'll make a pull request with this implementation when I'll finish it.

Thanks you all for the Help!!

akien-mga commented 7 years ago

I'll make a pull request with this implementation when I'll finish it.

I can already tell you that it likely wouldn't be accepted, there is no plan to integrate Bullet in Godot as default or alternative physics engine (and if there were, it should be built from the source code and not from static libraries). That's why @reduz talked of GDNative, which is an interface that would let you distribute plug 'n play "addons" for Godot, so that users who do want to use Bullet can use your GDNative addon.

AndreaCatania commented 7 years ago

@akien-mga But if I'll make it compile with source code, there is the possibility that is accepted? Why godot have these restriction? I saw some part of Godot physics that was taken from Bullet physics and another part inspired from it.

So why just don't use if? It's very good, already working, maintained and free.

In this way we'll can focus about the implementation of other features like destructible mesh that are not suported by the engine, or the soft body / cloth.

I think that the implementation of Bullet physics make the version 3.0 of Godot a very competitive engine for who want a good engine that not use NVidia PhysX (like UE4), that is very good but is not deterministic.

Today all game engines that uses Bullet are very bad and old (Torque 3D, Ogre 3D, etc...) then this can make a difference.

eon-s commented 7 years ago

@AndreaCatania I guess it will be hard to convince devs to replace a big core component with a 3rd party one without a previous long, heated and boring discussion :sweat_smile:

But if you can, keep it in a fork, it will help a lot to people who want to implement their own physics.

Also, try to get in touch with the GDNative devs, if this can be turned into a plugin will be amazing.

AndreaCatania commented 7 years ago

@eon-s Yes I agree with you! the long heated and boring discussion is necessary :D. However why do you think that is bad the use of 3rd party library like Bullet that has free license?

Thanks to the good implementation of current physics engine, the developers shouldn't change nothing on their side. All work is on my side.

And this can boost the speed implementation of new features, that in this moment are very few for a 3d engine.

However I'll open a discussion when all is ready

vnen commented 7 years ago

@AndreaCatania you have be the one to convince that Bullet is better than Godot's current physics system. A lot of people complain that Godot "reinvent the wheel", but sometimes it is just that the wheel doesn't fit within Godot's architecture.

I'm not familiar with physics system, but maybe there's something Godot has that Bullet does not or the way that it works don't fit in with Godot's system. In any case, you'll need strong arguments to convince the devs to drop all the battle tested work done to integrate a new library that may or may not work as intended.

AndreaCatania commented 7 years ago

@vnen Why do you think Godot physics is better than Bullet physics?

Try to create a chain like this: PinJoint <-- rigid body--> hinge joint then <-- anothe rigid body WITH CAMERA This is the result: https://youtu.be/JxfW2gmANZE

Then you talk about the compatibility of bullet with godot, what you said was the first thing I thought when I started to create the "wrapper". But (thanks to god :D) as I went deeper more I realized that the Godot physics was inspired by Bullet. In addition I can say that the part of software that manage the constant collision detection is completelly copied from Bullet.

Check these file please: https://github.com/godotengine/godot/blob/master/servers/physics/body_sw.cpp#L60 https://github.com/godotengine/godot/blob/master/servers/physics/joints/cone_twist_joint_sw.cpp#L32 https://github.com/godotengine/godot/blob/master/servers/physics/joints/generic_6dof_joint_sw.cpp#L32 etc...

So Bullet can be replaced perfectly, and in addition it can stay together with the current physics engine, and both can be switched in the settings with out touching a line of code, since the Godot's interface that implement physics is fantastic and allow that. I'll demonstrate that.

I don't know about the tests done about Godot physics but I can say that Bullet physics engine is not little and not tested.

  1. Bullet is a Physics engine used in a lot of games, and engines so for abvious reason its audience is broad.
  2. Only the GitHub repository has more then 5K commits, this to say that is not a little engine.

What I want to say is that currently Godot is a very good idea (3D side), but is not ready to be competitive with UE4, Unity, CryEngine.

It lacks a lot of features, for example it hasn't the soft body, cloth, the vehicle is not so robust, destructible mesh. These are all things that if Bullet is implemented the only thing to do is create the wrapper from Godot to Bullet. And this allow us to have more time to spent on other features like improve networking, create a good particle system, create the World editor (that simply doen't exist), improve the editor that in this state is very difficult to use for a broad project, or improve even more the rendering. And other hundred things that I can list.

If we have to implement every part of the engine from the scratch even when is not needed, for a reason that I don't understand, we can stay sure about that Godot remain always behind the other engines.

I want to improve godot because I like its concept, and I'm convinced about that this is the right thing to do to boost the engine development.

reduz commented 7 years ago

@AndreaCatania The reason we use a custom one is that it's very tweaked for games, and has a lot of specific functionality we use in Godot that it's not present in other engines (ie, Areas, Kinematic motions, etc). That makes Godot very easy to use.

That said, it's really old (I think more than 10 years old) and it needs a rewrite, which will hopefully happen soon. Meanwhile, feel free to integrate Bullet if it solves your problems

AndreaCatania commented 7 years ago

@reduz Yes the area (in the term of space caracteristics override) is something that is not present in Bullet, but it can be implemented with few line of code, and without changing the engine it self so the developers can use the area as done before with current physics. The same thing can be done for the kinematic motion.

I don't know if there are other incompatibilities that must be implemented.

Currently I need only to complete the implementation of PhysicsDirectBodyState I'll show you something soon.

Since it must be rewritted sooner or later, If all current features can be re-implemented using Bullet, do you think is better to use it and then save the time to implement something that is completely new or implement new physics engine?