Когда я включаю <d3d11.h>
файл в Embarcadero RadStudio seattle 10 C ++ IDE, компилятор выдает следующую ошибку:
[bcc64 Ошибка] d3d11.h (9622): атрибут «selectany» действителен только при инициализации глобальных данных с внешней связью.
Пожалуйста, помогите мне.
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 = {};
Других решений пока нет …