Установка: Я успешно скомпилирован DarkGDK, библиотека, предназначенную для использования с DirectX SDK 2007 и VS 2008, в VS 2013 с DirectX SDK 2010. Я заменил одну из библиотек компонентов специальной библиотекой-заглушкой для разрешения конфликтов DirectX. Я смог успешно скомпилировать все эти библиотеки компонентов.Я пытаюсь использовать библиотеку в 2005 эпохи с MSVC 2013, но я получаю неразрешенные внешние ошибки в режиме выпуска
Проблема: Когда я составляю мой проект, который использует библиотеки DarkGDK в режиме выпуска, все работает, как ожидалось. Я получаю окно с сообщением о том, что двоичный файл был создан без отладочной информации, но моя программа работает. Однако в режиме Debug я получаю ряд ошибок. Ниже приведен образец, который, я считаю, представляет собой лот хорошо:
1>convmdl.lib(ConvMDL.obj) : error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "void __cdecl QuaternionSlerp(float const * const,float * const,float,float * const)" ([email protected]@[email protected])
1>libcpmtd.lib(stdthrow.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>system.lib(CSystemC.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>system.lib(dxdiaginfo.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>convx.lib(ConvX.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>convmd3.lib(ConvMD3.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(CBSPTree.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(CCompiler.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(ProcessHSR.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>world.lib(Patch.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(Universe.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(cLightMaps.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(CSG.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(NVMeshMenderD3DX.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>image.lib(CImageC.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>animation.lib(CAnimation.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(DBOFormat.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>basic3D.lib(CObjectManagerC.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>core.lib(RenderList.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>display.lib(CGfxC.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>file.lib(CFileC.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>sprites.lib(CSpriteManagerC.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>Debug\Weapon Creator 2 - Project Golden Girl.exe : fatal error LNK1120: 1 unresolved externals
Я искал эту проблему в течение нескольких дней. Я проверил все настройки проектов, которые принадлежат библиотеке DarkGDK, и настройки моего собственного проекта. В конфигурации Debug все они используют «многопоточную Debug (/ MTd)».
TL; DR Я получаю выше ошибки при попытке компиляции проекта в отладки конфигурации, которая использует DarkGDK библиотеку. Все проекты имеют те же настройки библиотеки Windows и C.
Спасибо!
Редактировать: ошибки были изменены, чтобы отразить вклад Дофича.
Благодарим за быстрый ответ. Добавление atls.lib устраняет эту проблему. Есть ли проблема с использованием atls vs atlsd в конфигурации Debug? –
Вы должны использовать 'atlsd' в debug и' atls' в выпуске. –
atlsd дает следующую ошибку: LINK: фатальная ошибка LNK1104: невозможно открыть файл 'atlsd.lib' –