d3d10 C 接口不可用

问题描述 投票:0回答:1

我正在将应用程序从 D3D7 移植到 D3D10。 尽管 D3D10 的 C 接口存在,但在编译/链接时似乎不可见。 D3D7 版本使用C 接口,我没有看到任何不同。

以下是我对 D3D10 文件的构建命令:

"arguments": ["D:\\Programme\\Visual Studio 2022\\VC\\Tools\\MSVC\\14.40.33807\\bin\\HostX64\\x86\\cl.exe", "/c", "/nologo", "/Zi", "/FS", "/Fdbuild\\windows\\x86\\debug\\compile.trng2.pdb", "/W3", "/Od", "/std:c11", "/MTd", "/Isrc", "/DXAUDIO2_HELPER_FUNCTIONS", "/DWIN32_LEAN_AND_MEAN", "/DNOMINMAX", "/D_CRT_SECURE_NO_WARNINGS", "/DCINTERFACE", "/DDO_LOG", "/D_DEBUG", "/D_USE_MATH_DEFINES", "/IE:\\REDACTED\\build\\.packages\\z\\zlib\\v1.3.1\\55fd28c48bc34b35b89c569e2dd7bcce\\include", "/IE:\\REDACTED\\build\\.packages\\x\\xaudio2redist\\1.2.11\\163bc5c6e48e49d98ea66f724aede6bf\\include", "/Fobuild\\.objs\\REDACTED\\windows\\x86\\debug\\REDACTED\\specific\\d3d10\\d3d10info.c.obj", "REDACTED\\specific\\d3d10\\d3d10info.c"],

如您所见,我指定了 C11 以及

CINTERFACE
,但我收到了链接器错误和编译器警告。

d3d10info.c(18):警告 C4013:“IDXGIFactory_EnumAdapters”未定义;假设 extern 返回 int

d3d10info.c.obj:错误LNK2019:函数_EnumAdapters中引用的无法解析的外部符号_IDXGIFactory_EnumAdapters

c winapi com linker-errors direct3d
1个回答
0
投票

您还需要定义

COBJMACROS
来公开方便的宏,例如
IDXGIFactory_EnumAdapters(factory,int,void**)

这对于
d3d.h
来说是不需要的(D3D < 9), but seems to be needed for
d3d10.h

© www.soinside.com 2019 - 2024. All rights reserved.