Связывание DirectX - PullRequest
       15

Связывание DirectX

0 голосов
/ 08 января 2020

Я работаю над проектом DirectX9, и теперь пришло время начать делать спрайты, и для этого мне нужно включить d3dx9.h, так что через некоторое время я попытался правильно связать его, что само по себе сбивало с толку, потому что он нашел d3d9.h просто отлично и он находится в том же месте, что и d3dx9, я предположил, что мне просто нужно добавить его в дополнительные библиотеки, и через некоторое время он наконец заработал. Однако после запуска программы я получаю сообщение об ошибке от d3dx9core.h:

C2061: syntax error: identifier 'TEXTMETRICA'

Я не могу найти ответы в Интернете и не могу понять, что является причиной этой проблемы. Строка кода 330 из d3dx9core.h, STDMETHOD_(BOOL, GetTextMetricsA)(THIS_ TEXTMETRICA *pTextMetrics) PURE; она имеет четыре ошибки, все они указывают на эту строку. Есть мысли?

1 Ответ

3 голосов
/ 08 января 2020

Если вы используете устаревший DirectX SDK с VS 2015 или более поздней версией, вам нужно убедиться, что пути DXSDK include / lib имеют после стандартных Windows 8.1 SDK / Windows 10 SDK. Это связано с тем, что в устаревшем DirectX SDK имеются устаревшие копии некоторых заголовков Windows.

Подробные сведения приведены в нижней части Документы Microsoft .

DirectX 9 очень старый, и действительно нужен был только для цели Windows XP. Вместо этого вам следует взглянуть на DirectX 11 и, в частности, DirectX Tool Kit SpriteBatch. См. Жизнь без D3DX .

...