Проблемы с переносом CLR проекта C ++ DirectX с использованием Windows API

Итак, у меня есть проект, для которого я пытаюсь создать оболочку, которая позволит мне использовать его с CLR.

Я собрал свой проект DirectX в .lib. Когда я пытаюсь связать это в своем проекте CLR, я получаю следующие ошибки:

1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__MessageBoxW@16 referenced in function __catch$?SetUpObjects@cMain@@AAE_NXZ$0
1>Renderer Library.lib(cGraphics.obj) : error LNK2001: unresolved external symbol __imp__MessageBoxW@16
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__ShowCursor@4 referenced in function "private: void __thiscall cMain::InitializeWindows(int &,int &)" (?InitializeWindows@cMain@@AAEXAAH0@Z)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__SetFocus@4 referenced in function "private: void __thiscall cMain::InitializeWindows(int &,int &)" (?InitializeWindows@cMain@@AAEXAAH0@Z)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__SetForegroundWindow@4 referenced in function "private: void __thiscall cMain::InitializeWindows(int &,int &)" (?InitializeWindows@cMain@@AAEXAAH0@Z)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__ShowWindow@8 referenced in function "private: void __thiscall cMain::InitializeWindows(int &,int &)" (?InitializeWindows@cMain@@AAEXAAH0@Z)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__CreateWindowExW@48 referenced in function "private: void __thiscall cMain::InitializeWindows(int &,int &)" (?InitializeWindows@cMain@@AAEXAAH0@Z)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__ChangeDisplaySettingsW@8 referenced in function "private: void __thiscall cMain::InitializeWindows(int &,int &)" (?InitializeWindows@cMain@@AAEXAAH0@Z)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__GetSystemMetrics@4 referenced in function "private: void __thiscall cMain::InitializeWindows(int &,int &)" (?InitializeWindows@cMain@@AAEXAAH0@Z)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__RegisterClassExW@4 referenced in function "private: void __thiscall cMain::InitializeWindows(int &,int &)" (?InitializeWindows@cMain@@AAEXAAH0@Z)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__GetStockObject@4 referenced in function "private: void __thiscall cMain::InitializeWindows(int &,int &)" (?InitializeWindows@cMain@@AAEXAAH0@Z)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__LoadCursorW@8 referenced in function "private: void __thiscall cMain::InitializeWindows(int &,int &)" (?InitializeWindows@cMain@@AAEXAAH0@Z)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__LoadIconW@8 referenced in function "private: void __thiscall cMain::InitializeWindows(int &,int &)" (?InitializeWindows@cMain@@AAEXAAH0@Z)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__UnregisterClassW@8 referenced in function "private: void __thiscall cMain::ShutdownWindows(void)" (?ShutdownWindows@cMain@@AAEXXZ)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__DestroyWindow@4 referenced in function "private: void __thiscall cMain::ShutdownWindows(void)" (?ShutdownWindows@cMain@@AAEXXZ)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__DefWindowProcW@16 referenced in function "public: long __stdcall cMain::MessageHandler(struct HWND__ *,unsigned int,unsigned int,long)" (?MessageHandler@cMain@@QAGJPAUHWND__@@IIJ@Z)
1>Renderer Library.lib(cMain.obj) : error LNK2019: unresolved external symbol __imp__PostQuitMessage@4 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z)

Я пытаюсь создать окно для рендеринга, но все функции, которые мне нужно вызвать, не работают.

В конце концов я хочу реструктурировать свой проект DirectX таким образом, чтобы я мог использовать его так, как я хочу с CLR. На данный момент я просто пытаюсь заставить его играть красиво. Проблема заключается в функциях, которые я использую для создания окна и инициализации устройства DirectX. Не совсем уверен, как это исправить, будь то что-то, что я пропустил по линкеру, или мне следует использовать другую стратегию.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …