Как очистить ошибку LNK2001 в VS2015 с помощью Bullet Physics SDK? - PullRequest
0 голосов
/ 23 февраля 2019

PS.извините .. я не очень хорошо говорю по-английски.

Я хочу кое-что спросить о Bullet Physics SDK.// Я использую Vistual Studio 2015 / Bullet 2.88

В текущей папке моего решения есть файлы lib, файлы заголовков

для файлов lib в режиме отладки: BulletCollision_vs2010_debug.lib / BulletDynamics_vs2010_debug.lib / LinearMath_vug201__.lib

для файлов lib в режиме выпуска: BulletCollision_vs2010.lib / BulletDynamics_vs2010.lib / LinearMath_vs2010.lib

, и я сделал все настройки, подобные этим

set inc Dir : Properties->C/C++->General->Additional Include Directories
set lib Dir : Properties->Linker->General->Additional Library Directories
set additional Dependencies : Properties->Linker->Input->Additional>Dependencies
set appropriate runtime library : Properties->C/C++->Code Generate->runtime ilbrary

но у меня все еще есть ошибка в моем проекте

외부 기호를 확인할 수 없습니다. = unresolved external symbol

main.obj: ошибка LNK2001: "public: virtual float __thiscall btCollisionShape :: getContactBreakingThreshold (float) const" (?getContactBreakingThreshold @ btCollisionShape @@ UBEMM @ Z).

main.obj: ошибка LNK2001: "public: virtual float@UBEMXZ) * 기호 를 확인할 수 없습니다.

main.obj: ошибка LNK2001: "public: virtual void __thiscall btCollisionShape :: getBoundingSphere (класс btVector3 &, float &) const "(? getBoundingSphere @ btCollisionShape @@ UBEXAAVbtVector3 @@ AAM @ Z) 외부 기호 를 확인할 수 없습니다. * 10 * * * 10 * * * 10 * * * 10 * * *ошибка LNK2001: "public: virtual void __thiscall btConvexShape :: project (класс btTransform const &, класс btVector3 const &, float &, float &, класс btVector3 &, класс btVector3 &) const" (? project @ btConvexShape @@ UBEXABB@@TBEXABBABVbtVector3 @@ AAM2AAV3 @ 3 @ Z) 10 기호 를 확인할 수 없습니다.

main.obj: ошибка LNK2001: «public: virtual void __thiscall btSphereShape :: calculateLocalInertia (float, класс btVector3 &) const» (?)?convertLocalInertia @ btSphereShape @@ UBEXMAAVbtVector3 @@@ Z) 외부 기호 를 확인할 수 없습니다.

как я могу исправить эту ошибку?спасибо за внимание!

1 Ответ

0 голосов
/ 30 августа 2019

Ошибка btCollisionShape::getBoundingSphere(class btVector3 &,float &) выглядит так, как будто вы btScalar определены как одинарная точность, но библиотека маркеров по умолчанию определит btScalar как двойную точность, установив BT_USE_DOUBLE_PRECISION = 1. Вам нужно сделать то же самое в своем приложении, чтобы убедиться, что типы выстроены в ряд.

...