Я работаю в проекте Windows VC ++ 2010, который включает DirectX SDK (июнь 2010 г.), а другая команда создала физическую библиотеку для включения в программу.Когда я прохожу и выполняю все необходимые звонки в библиотеку, и все.и я следовал указаниям, которые они дали для интеграции библиотеки:
extract the director containing the .h files into my c:\
в C / C ++> general> Дополнительные каталоги для включения Place
c:\physics_core // without additional additional dependencies
, затем в Linker> Input> Additional DependenciesПоместите
C:\physics_core\PhysicsCore\Release\PhysicsCore.lib // without additional additional dependencies
, затем включите менеджер и используйте пространство имен, предоставленное везде, где должны вызываться методы и объекты (intellisence даже пытается предложить правильное автоматическое завершение).но затем мой компилятор выдает следующий список.Я почти уверен, что первые 6 связаны с самой библиотекой, а остальные - с DirectX.
1> PhysicsCore.lib(PhysicsMgr.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
1>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
1>PhysicsCore.lib(PhysicsMgr.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in MainCore.obj
1>PhysicsCore.lib(Box3D.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in MainCore.obj
1>PhysicsCore.lib(Circle3D.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in MainCore.obj
1>PhysicsCore.lib(Box2D.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in MainCore.obj
1>PhysicsCore.lib(Circle2D.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in MainCore.obj
1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__UpdateWindow@4
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__ShowWindow@8
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__CreateWindowExW@48
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__RegisterClassExW@4
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__LoadCursorW@8
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__DefWindowProcW@16
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__PostQuitMessage@4
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__InvalidateRect@12
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__AddFontResourceExW@12
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__GetWindowRect@8
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__DispatchMessageW@4
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__TranslateMessage@4
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__PeekMessageW@20
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__UnregisterClassW@8
1>MainCore.obj : error LNK2001: unresolved external symbol __imp__RemoveFontResourceExW@12
1>C:\general\...\Engine\Debug\test.exe : fatal error LNK1120: 15 unresolved externals
Дело в том, когда я откатываю программу до того, как интегрирую физическую библиотекувсе работает как положено.люди, которые создали библиотеку, говорят мне, что она прекрасно работает на всех системах, на которых они пытались ее использовать, но они никогда не пытались использовать ее в программе Windows, и они уверяют меня, что это не имеет ничего общего с нейбудучи приложением Windows.когда я спросил, используют ли они какие-либо специальные флаги, такие как предупреждение о первом компоновщике, они сказали, что они не использовали такого флага (ведущий программист даже не знал, что они были, или как их установить).В сборке до интеграции физики DirectX работал нормально, даже при рендеринге.
любая помощь была бы полезна.
Обновление: изменил компоновщик> input> Additional Dependencies на
C: \physics_core \ PhysicsCore \ Debug \ PhysicsCore.lib, возможно, потребуется изменить это при выпуске, чтобы он был оригинальным
, который исправил первые 6 ошибок, но неразрешенные внешние факторы все еще существуют
Обновление: ситуация решена.
все ошибки были устранены с помощью двух действий, относящихся к одной и той же строке свойств.
1, обеспечивающих использование отладочной сборки библиотеки в режиме отладки.
2проверка зависимостей рассматриваемой библиотеки и включение их в случае совпадения.так как компилятор сначала проверяет список зависимостей любых используемых библиотек, а затем проверяет зависимости проекта.если есть какое-либо перекрытие, первое остается в силе, и все последующие игнорируются, но если флаг включения зависимостей не установлен в значение true, компилятор не будет включать их.поэтому исправленная строка для разрешения ситуации была в Linker> Input> Additional Dependences, которую нужно было изменить на:
C:\physics_core\PhysicsCore\Debug\PhysicsCore.lib // include additional dependencies
еще раз спасибо за вашу помощь.