Включение вызывает ошибки ‘Функция E0090, возвращающая функцию, не разрешена’

#c #visual-studio #dll #directx

#c #visual-studio #dll #directx

Вопрос:

В проекте dll x64 в Visual Studio добавление этой строки :

#include <d3dkmthk.h>

выдает мне сотни ошибок, подобных этим :

 Error (active)    E0090    function returning function is not allowed
Error    C2059    syntax error: '__cdecl'
Error    C2143    syntax error: missing ';' before '__cdecl'
Error    C4430    missing type specifier - int assumed. Note: C   does not support default-int
  

Комментарии:

1. Ваш вопрос относится к C , а не C. Это тоже MCVE?

2. Я думаю, вы правы, я написал вопрос до того, как получил ответ, что привело меня к добавлению информации, которая в конечном итоге оказалась ненужной.

Ответ №1:

Проблема была вызвана #define WIN32_LEAN_AND_MEAN , удаление этой строки решило проблему.

Комментарии:

1. #include <d3dkmthk.h> это заголовок режима ядра в наборе драйверов Windows. Вы не должны использовать его в программах пользовательского режима.

2. Я писал обходной путь directx, его импорт позволил мне использовать некоторые структуры в моих функциях переноса.