编译GitHub vs2010项目时出现无法解析的外部符号

时间:2019-01-08 21:52:28

标签: windows visual-c++ directx

我正在尝试编译this vs2010 solution并将其更新为VS2013,但在编译时会引发以下错误:

LNK2019: Unresolved external symbol "struct HWND__ * __cdecl DwmaxxRpcWindow(void)" (?DwmaxxRpcWindow@@YAPEAUHWND__@@XZ) referenced in function "long __cdecl InitDevice(void)" (?InitDevice@@YAJXZ)

该解决方案分为5个项目:两个DLL(x86和x64),一个主DLL,一个Loader项目(用于加载任何dll)和一个Test项目,用于测试DLL的功能。 实际上,我尝试链接该项目所需的所有LIB以及DLL,并且可以使某些项目进行编译,但没有测试项目,这会引发上述错误。 另外,我已经联系了项目的开发人员,他告诉我,我只需要编译dll即可正常工作。

DwmaxxRpcWnd的定义是这样:

HWND    DwmaxxRpcWindow()
{
    return (FindWindowEx(HWND_MESSAGE, NULL, DWMAXX_RPC_WINDOW_CLASS, NULL));
}

DWMAXX_RPC_WINDOW_CLASS由

定义
#define DWMAXX_RPC_WINDOW_CLASS     ("DwmaxxRPCEndpoint")

有问题的功能部分是

HANDLE hTmp = (HANDLE)SendMessage(DwmaxxRpcWindow(), DWMAXX_GET_SHARED_HANDLE, (WPARAM)win, NULL);

DWMAXX_GET_SHARED_HANDLE代表

#define DWMAXX_GET_SHARED_HANDLE    (WM_APP + 1)

“ win”变量是窗口的HWND。

该函数(如图所示)应返回一个句柄值。 但是,我什至无法编译该项目。 该项目本身就是要使用一些挂钩从DWM中将共享的D3D纹理获取到窗口,我计划将这个项目的各个部分用于我自己的

0 个答案:

没有答案