Атрибут «selectany» действителен только при инициализации глобальных данных с внешней связью

Когда я включаю <d3d11.h> файл в Embarcadero RadStudio seattle 10 C ++ IDE, компилятор выдает следующую ошибку:

[bcc64 Ошибка] d3d11.h (9622): атрибут «selectany» действителен только при инициализации глобальных данных с внешней связью.

Пожалуйста, помогите мне.

0

Решение

d3d11.h заголовок Microsoft для Direct3D

Аромат Microsoft selectany немного отличается от вкуса Эмбаркадеро selectany.

В частности, разновидность Microsoft поддерживает инициализацию по умолчанию глобальных экземпляров объектов, тогда как Embarcadero — нет. Глобальные переменные должны быть инициализированы данными. d3d11.h (будучи заголовком Microsoft) полагается на Microsoft selectany поведение. Переменная в вопросе (D3D11_VIDEO_DEFAULT) не инициализируется какими-либо данными, что нормально в компиляторе Microsoft, но не в компиляторе Embarcadero.

Вы должны будете изменить копию Embarcadero в d3d11.h добавить инициализацию:

//extern const DECLSPEC_SELECTANY CD3D11_VIDEO_DEFAULT D3D11_VIDEO_DEFAULT;
extern const DECLSPEC_SELECTANY CD3D11_VIDEO_DEFAULT D3D11_VIDEO_DEFAULT = {};
0

Другие решения

Других решений пока нет …