C++ C++;使用Windows API的DirectX项目

C++ C++;使用Windows API的DirectX项目,c++,clr,C++,Clr,好的,我有一个项目,我正在尝试为它创建一个包装器,它将允许我在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

好的,我有一个项目,我正在尝试为它创建一个包装器,它将允许我在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)
我正在尝试创建一个用于在中渲染的窗口,但是我必须调用的所有函数似乎都不起作用


最终,我希望以一种允许我以我希望的方式使用CLR的方式来重组我的DirectX项目。不过现在,我只是想让它玩得好一点。问题似乎是我用来创建窗口和初始化DirectX设备的函数。我真的不知道该如何补救,是我错过了链接器方面的东西,还是我应该采用不同的策略。

猜测VS2008。右键单击项目、属性、链接器、输入和其他依赖项。删除“$(NoInherit)”以便链接user32.libVS2010,这会改变什么吗?您提到的条目不在那里,但是添加了两行#pragma comment(lib,“user32.lib”)和#pragma comment(lib,“gdi32.lib”)似乎已经修复了问题,因此感谢您向我指出这一点。