Ошибка в constexpr при создании примера кода DirectX 12

Я хочу собрать образец кода DX 12, но я получил следующую ошибку. Ошибка в DX 12 Build

Любое решение?

1 ответ

Эта проблема не имеет ничего общего с DirectX 12. Это DirectXMath 3.09 в Windows 10 SDK (14393), который реализован constexpr поддержка некоторых типов данных для Visual Studio 2015- constexpr языковая функция не поддерживалась Visual Studio 2013.

Компилятор IntelliSense помечает его как проблему соответствия, но у него нет проблем с построением с помощью "настоящего" компилятора.

В любом случае я исправил это для DirectXMath 3.10, который будет в следующей версии Windows 10 SDK. Вы можете либо проигнорировать это - что, как я сказал, хорошо, потому что он по-прежнему создается без каких-либо ошибок или предупреждений - или вы можете получить последнюю версию DirectXMath из GitHub.

Если вы хотите более целенаправленное исправление, конкретные изменения для решения этой проблемы находятся в этом списке изменений.

Пока мы находимся на тему DirectXMath и constexpr, оказывается, есть ошибка с RTM-компилятором VS 2015, которая исправлена ​​в последующих обновлениях. Если вы используете VS 2015 Update или VS 2017 как следует, это не проблема. Но для полноты, есть обходной путь, который обрабатывает VS 2015 RTM, как если бы он был VS 2013 (то есть он не использует constexpr если вы не строите с VS 2015 Update 1 или более поздней версии). Смотрите этот список изменений.

Другие вопросы по тегам