わかりましたので、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 デバイスの初期化に使用している機能にあるようです。リンカを見逃したのか、別の戦略を採用する必要があるのか 、それを修正する方法がよくわかりません。