Не удается открыть исходный файл d3dx9 h

Обновлено: 03.07.2024

Есть ли у кого-нибудь файл P3DOculus.dll?

Есть ли у кого-нибудь файл P3DOculus.dll?

Наконец-то я понял, как разблокировать права доступа к реестру, чтобы загрузить VS2010. какой кошмар

Во время сборки я получаю сообщение об ошибке: фатальная ошибка C1083: невозможно открыть включаемый файл: 'atlcomcli.h': нет такого файла или каталога

Искал в Интернете, но, кажется, понял, как получить эту штуку. Есть идеи?

Кроме того, компилятор ищет файлы, у которых НЕТ расширений, но все файлы SDK имеют расширения, я получаю следующее:

'fxc.exe' не распознается как внутренняя или внешняя команда
Не удалось найти C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\LibOVR \Src\CAPI\Shaders\DistortionChroma_ps
Не удалось найти C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\LibOVR\Src\CAPI\Shaders\DistortionChroma_vs < br />Файл: «DistortionTimewarpChroma_vs» не существует
Не удалось найти C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\LibOVR\Src\CAPI\Shaders \DistortionTimewarpChroma_vs
Не удалось найти C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\LibOVR\Src\CAPI\Shaders\DistortionTimewarp_vs
Не удалось найти C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\LibOVR\Src\CAPI\Shaders\Distortion_ps
Не удалось найти C:\Program Files (x86)\ Замок обратите внимание на Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\LibOVR\Src\CAPI\Shaders\Distortion_vs
Не удалось найти C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0 \Utilities\PDK\OculusPluginSample\LibOVR\Src\CAPI\Shaders\SimpleQuad_ps
Не удалось найти C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\LibOVR\ Src\CAPI\Shaders\SimpleQuad_vs
Не удалось найти C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\LibOVR\Src\CAPI\Shaders\SimpleTexturedQuad_ps
Не удалось найти C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\LibOVR\Src\CAPI\Shaders\SimpleTexturedQuad_vs
'D3D11Shader.h': Нет такой файл или каталог
'd3dcompiler.h': нет такого файла или каталога
'd3dx9.h': нет такого файла или каталога
'atlcomcli.h': нет такого файла или каталога< /p>

Хорошо. Я установил SDK DirectX, и теперь у меня только эта ошибка.

Не удается открыть включаемый файл: 'atlcomcli.h': нет такого файла или каталога


Кажется, эта ошибка есть у всех, но я не могу найти сообщения о решении.

Нашел файлы ATL и поместил их в папку SRC, но теперь я получаю следующее:

2>------ Перестроить все запущено: Проект: P3DOculus, Конфигурация: Выпуск Win32 ------
2> OculusInterface.cpp
2> C:\Program Files ( x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C2061: синтаксическая ошибка: идентификатор 'dwLen'
2>C:\Program Файлы (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C2144: синтаксическая ошибка: перед "int" должен стоять ";"
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C4430: отсутствует спецификатор типа - int предполагается. Примечание. C++ не поддерживает default-int
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679) : ошибка C2143: синтаксическая ошибка: отсутствует ';' перед '*'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(680): ошибка C3861: ' _Out_writes_opt_': идентификатор не найден
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(680): ошибка C2146 : синтаксическая ошибка: отсутствует ')' перед идентификатором 'T'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef. h(680): ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает default-int
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(681) : ошибка C2059: синтаксическая ошибка: ')'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(690 ): ошибка C2143: синтаксическая ошибка: отсутствует ';' до ' 2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(690): ошибка C2447: '2>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h(40): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед «идентификатором»
2>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h(40): фатальная ошибка C1075: конец файла обнаружен перед левой фигурной скобкой ' 2> PluginController.cpp
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C2061: синтаксическая ошибка : идентификатор 'dwLen'
2> C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C2144: синтаксическая ошибка: 'int' должен предшествовать ';'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C4430: отсутствует спецификатор типа - int предполагается. Примечание. C++ не поддерживает default-int
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679) : ошибка C2143: синтаксическая ошибка: отсутствует ';' перед '*'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(680): ошибка C3861: ' _Out_writes_opt_': идентификатор не найден
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(680): ошибка C2146 : синтаксическая ошибка: отсутствует ')' перед идентификатором 'T'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef. h(680): ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает default-int
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(681) : ошибка C2059: синтаксическая ошибка: ')'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(690 ): ошибка C2143: синтаксическая ошибка: отсутствует ';' до ' 2> C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(690): ошибка C2447: ' 2>c:\Program Файлы (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h(40): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед «идентификатором»
2>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h(40): фатальная ошибка C1075: конец файла обнаружен перед левой фигурной скобкой ' 2> OculusPlugin.cpp
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C2061: синтаксическая ошибка : идентификатор 'dwLen'
2> C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C2144: синтаксическая ошибка: 'int' должен предшествовать ';'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C4430: отсутствует спецификатор типа - int предполагается. Примечание. C++ не поддерживает default-int
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679) : ошибка C2143: синтаксическая ошибка: отсутствует ';' перед '*'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(680): ошибка C3861: ' _Out_writes_opt_': идентификатор не найден
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(680): ошибка C2146 : синтаксическая ошибка: отсутствует ')' перед идентификатором 'T'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef. h(680): ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает default-int
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(681) : ошибка C2059: синтаксическая ошибка: ')'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(690 ): ошибка C2143: синтаксическая ошибка: отсутствует ';' до ' 2> C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(690): ошибка C2447: ' 2>c:\Program Файлы (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h(40): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед «идентификатором»
2>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h(40): фатальная ошибка C1075: конец файла обнаружен перед левой фигурной скобкой ' 2> OculusRenderEffect.cpp
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C2061: синтаксическая ошибка: идентификатор 'dwLen'
2> C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\ atldef.h(679): ошибка C2144: синтаксическая ошибка: «int» должен предшествовать «;»
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C4430: отсутствует спецификатор типа - int предполагается. Примечание. C++ не поддерживает default-int
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679) : ошибка C2143: синтаксическая ошибка: отсутствует ';' перед '*'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(680): ошибка C3861: ' _Out_writes_opt_': идентификатор не найден
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(680): ошибка C2146 : синтаксическая ошибка: отсутствует ')' перед идентификатором 'T'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef. h(680): ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает default-int
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(681) : ошибка C2059: синтаксическая ошибка: ')'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(690 ): ошибка C2143: синтаксическая ошибка: отсутствует ';' до ' 2> C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(690): ошибка C2447: ' 2>c:\Program Файлы (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h(40): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед «идентификатором»
2>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h(40): фатальная ошибка C1075: конец файла обнаружен перед левой фигурной скобкой ' 2> OculusWindowCallback.cpp
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C2061: синтаксическая ошибка : идентификатор 'dwLen'
2> C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C2144: синтаксическая ошибка: 'int' должен предшествовать ';'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C4430: отсутствует спецификатор типа - int предполагается. Примечание. C++ не поддерживает default-int
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679) : ошибка C2143: синтаксическая ошибка: отсутствует ';' перед '*'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(680): ошибка C3861: ' _Out_writes_opt_': идентификатор не найден
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(680): ошибка C2146 : синтаксическая ошибка: отсутствует ')' перед идентификатором 'T'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef. h(680): ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает default-int
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(681) : ошибка C2059: синтаксическая ошибка: ')'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(690 ): ошибка C2143: синтаксическая ошибка: отсутствует ';' до ' 2> C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(690): ошибка C2447: ' 2>c:\Program Файлы (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h(40): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед «идентификатором»
2>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h(40): фатальная ошибка C1075: конец файла обнаружен перед левой фигурной скобкой ' 2> WindowPluginManager.cpp
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C2061: синтаксическая ошибка : идентификатор 'dwLen'
2> C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C2144: синтаксическая ошибка: 'int' должен предшествовать ';'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C4430: отсутствует спецификатор типа - int предполагается. Примечание. C++ не поддерживает default-int
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(679): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед '*'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(680): ошибка C3861: ' _Out_writes_opt_': идентификатор не найден
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(680): ошибка C2146 : синтаксическая ошибка: отсутствует ')' перед идентификатором 'T'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef. h(680): ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает default-int
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(681) : ошибка C2059: синтаксическая ошибка: ')'
2>C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(690 ): ошибка C2143: синтаксическая ошибка: отсутствует ';' до ' 2> C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\P3DOculus\Src\atldef.h(690): ошибка C2447: ' 2>c:\Program Файлы (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h(40): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед «идентификатором»
2>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\excpt.h(40): фатальная ошибка C1075: конец файла найден до левой фигурной скобки ' == ======== Перестроить все: 0 успешно, 2 не удалось, 0 пропущено ==========

Все это исправлено путем создания ссылки на файлы ATL в исходных файлах отладки в свойствах решения..

Но теперь у меня есть эта ошибка:

2> Создание библиотеки C:\Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\Output\Release\P3DOculus.lib и объекта C:\Program Files (x86)\ Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\Output\Release\P3DOculus.exp
2>OculusInterface.obj : error LNK2001: неразрешенный внешний символ __imp__AtlComPtrAssign@8
2>C: \Program Files (x86)\Lockheed Martin\Prepar3D v2 SDK 2.5.12945.0\Utilities\PDK\OculusPluginSample\Output\Release\P3DOculus.dll: фатальная ошибка LNK1120: 1 неразрешенный внешний файл
======== == Сборка: 1 успешно, 1 не удалось, 0 обновлено, 0 пропущено ==========

Для тех файлов ATL, которые я должен сказать другим, пытающимся понять это, я загрузил последнюю версию сообщества VS, а затем связался с его каталогом файлов ATL из VS 2010 Express.

Решено и скомпилировано!

Последний трюк заключался в том, чтобы установить на странице свойств P3DOculus>general>Use of ATL> значение Not Using ATL

затем компилируется.

Временами это кажется немного более плавным, чем DCOC, а иногда не очень. С нетерпением жду возможности немного поиграть с кодом. Единственная проблема, которая у меня есть сейчас, заключается в том, что большую часть времени он не будет реагировать на нажатие клавиши, чтобы избавиться от всплеска предупреждения о безопасности, а также у меня есть некоторые горизонтальные разрывы, происходящие даже с включенной вертикальной синхронизацией и твердыми 75 кадрами в секунду.

Убедитесь, что представление Oculus развернуто на весь экран на устройстве Oculus. Для этого щелкните представление Oculus и нажмите ALT + ВВОД. Если это уже так, попробуйте отключить настройки и посмотреть, поможет ли это.

< бр />

Дата регистрации Декабрь 2012 г. Пол Сообщения 43 Репутация 10 Спасибо 13 --> Спасибо 8 Мое настроение

 Отправить сообщение LostInTheDark через Birdie™ /><br /></p>
<h2>Ошибка: не удается открыть исходный файл

Я явно новичок в хакерстве и C++, поэтому, пожалуйста, не ругайте меня и не говорите мне изучить C++, прежде чем делать что-либо из этого. В настоящее время я читаю разделы на LearnCPP.

Мой вопрос: почему каждый раз, когда я пытаюсь включить d3dx9.h, появляется сообщение "Ошибка: невозможно открыть исходный файл 'd3dx9.h'"? Я использую базу горячих клавиш Redux.

Этот хак не будет выпущен, поэтому еще раз, пожалуйста, не называйте меня нубом или кем-то еще за то, что я не создал свою собственную базу. Я еще недостаточно знаю о хаках Combat Arms или C++, чтобы сделать это. Это только для целей тестирования.

< бр />

Дата регистрации Январь 2010 г. Пол Сообщения 252 Репутация 10 Спасибо 41 --> Спасибо 37 Мое настроение

Отправить сообщение через Birdie™ в ctpsolo

@LostInTheDark Если вы создали новый проект (и не использовали решение, созданное Redux), вам необходимо включить DirectX SDK. (Если у вас его нет, вам нужно сначала загрузить и установить его).

У меня Visual 2010, поэтому, если у вас есть другая версия, она может немного отличаться, но, вероятно, должна быть примерно такой же.

*Нажмите проект, а затем свойства вашего проекта. Выберите свойства конфигурации, затем каталоги VC++.
*В включенных каталогах необходимо добавить новый каталог. На моей машине это что-то вроде c:\program files x86\Microsoft DirectX SDK June 2010\include
*В каталогах библиотек добавьте тот же путь, но вместо него Microsoft DirectX SDK\lib

Но как мне внедрить DirectX SDK в компилятор, чтобы я мог просто включать любые файлы DirectX, как если бы это были стандартные файлы Windows. Например, следующий -- заголовок DirectX


Если вы установили SDK после Visual Studio, он *должен* уже быть настроен.

Вам нужно только:

Если это по-прежнему не работает, вы должны добавить пути включения и библиотеки для каждого проекта (или, если эта функция все еще доступна, добавить их один раз и сохранить их на всю жизнь в так называемом «Листе свойств», но Я не уверен насчет vs12)


Но, как видно из ошибки, которую я прокомментировал, это не работает.


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

В основном вы должны либо в свойствах проекта, либо в глобальных листах свойств добавить записи Include, Lib и Bin для DirectX SDK.

Данный "D3DSDKFolder", который является вашей базовой папкой D3D SDK, здесь в C:\Program Files\Microsoft DirectX SDK (версия),

Include = D3DSDKFolder\Include
Lib = D3DSDKFolder\Lib\x64 для 64-разрядной версии, D3DSDKFolder\Lib\x86 для 32-разрядной версии
Bin = D3DSDKFolder\Bin (не обязательно)

Как вы можете видеть, это не сильно отличается от других библиотек, вы просто настраиваете каталоги include и lib, и все готово.
Я не уверен, почему вы также добавили папку Bin, но я также не уверен, почему вы не поместили свою папку Bin.



Я могу сказать, что в VS10, возможно, процедура аналогична:

Шаги:
1. Откройте проект
2. Вид->Менеджер свойств
3. У вас должно получиться древовидное представление, которое выглядит следующим образом:

Заданные вами свойства будут свойствами по умолчанию для всех ваших проектов в конфигурации отладки.

Проделайте то же самое в разделе "Выпуск | Win32", чтобы применить изменения к конфигурации выпуска.

Это должен быть ваш экран:

Теперь я выделил некоторые моменты.

Это итальянская версия, но вы сами сможете узнать названия.

Когда вы нажимаете на ПРАВЫЙ столбец (выделено красным), открывается раскрывающийся список параметров, нажав на кнопку (выделено зеленым цветом).

Теперь вы можете добавлять каждую строку для каждой записи, которую хотите добавить, с помощью кнопки "Новая строка" (также CTRL+INS).


Очевидно, что это для VS10.



Все работает! Большое спасибо!!


Подождите, теперь у меня возникают проблемы с "неразрешенными внешними элементами" при использовании таких функций в Direct3D, как D3DXMatrixLookAtLH(. ) и D3DXMatrixRotationY(. ) .

На странице свойств Microsoft.Cpp.Win32.user есть параметры «Исполняемые каталоги», «Включить каталоги», «Справочные каталоги», «Каталоги библиотек», «Каталоги библиотек WinRT», «Исходные каталоги» и «Исключить каталоги».
Я добавил в каталоги Include и Library. Что-то, что мне не хватает здесь, что нужно?


Ну, вы не связываете свой проект с D3Dx9.lib
( )




Ой, подождите. Мне нужно?

Та же ссылка, которую вы разместили чуть выше, говорит, что D3DXMatrixRotationY(. ); имеет требования d3dx9math.h и d3dx9.lib


Нет, он включается из d3dx9.h.И файл правильно включен, так как отсутствие связи дает неразрешенный внешний, а невключение дает неопределенный/необъявленный идентификатор.



Это очень странно.
Если вы компилируете для 32-разрядной версии, уверены ли вы, что настроили 32-разрядный каталог lib DirectX SDK?

Потому что эта ошибка иногда возникает при компиляции 32-битного исполняемого файла с 64-битной библиотекой.



Знаете ли вы, как посмотреть макросы композитора в VS12? Мне просто интересно, не работает ли по какой-то причине мой компилятор в 32-битном режиме, поэтому ему нужна 32-битная библиотека, а не 64-битная библиотека, которую я ему дал.
Я говорю это, потому что я видел много функций, используемых в качестве макросов для ссылки на «рекомендуемую» функцию, поэтому макрос меняет то, что вы на самом деле используете, в зависимости от других определений.


По умолчанию все проекты компилируются для 32-разрядных машин.

Чтобы скомпилировать для 64-разрядной версии (после этого ваш исполняемый файл НЕ будет подходить для 32-разрядных систем!) перейдите в настройки проекта, Linker->Advanced, Destination Computer и измените "MachineX86" на "MachineX64".

(Это переведено и взято из vs10, как всегда)

Он не использует макросы.


Правильно, спасибо!
И если это не удалось, я также нашел это после небольшого поиска:

Я очень надеюсь, что изменение моих настроек на x64 сработает, но в противном случае я верю, что если я вместо этого свяжусь с библиотекой x86, то мое приложение будет собрано (к сожалению, в 32-разрядной версии, ну ладно, могло быть и хуже).

Сначала обязательно установите dx9 sdk
Посмотрите в C:\Program Files (x86)\Microsoft DirectX SDK (июнь 2010 г.)

Если у вас есть эта папка, вы узнаете, для установки SDK
Если вы этого не сделаете, Baidu загрузит его. Обратите внимание, что это SDK, а затем установите его. Когда я установил его, установка не удалась.
Если установка не удалась, сначала удалите следующие два, а затем установите

Затем откройте свойства проекта, сообщающие об ошибке -> C/C++ -> Общие

Скопируйте путь к файлу, который не может быть открыт, у меня это C:\Program Files (x86)\Microsoft DirectX SDK (июнь 2010 г.)\Include Нажмите, чтобы присоединиться

Затем включенный файл не может быть открыт: " D3DX9.LIB" Нет такого файла или каталога, чтобы открыть следующий компоновщик, а затем добавить путь, по которому находится D3DX9.LIB, в компоновщик -> Общие -> Добавить дополнительный каталог библиотеки.
Мой каталог: C:\Program Files (x86)\Microsoft DirectX SDK (июнь 2010 г.)\Lib\x86

Примечание. Эта статья является лишь вопросом или кратким изложением проблемы, с которыми я столкнулся во время учебы и работы. Это не профессиональное решение проблемы. В общем, я вам не помогу. Если я могу вам помочь (я не буду) уважаемый

Интеллектуальная рекомендация


Кортеж " продиктовать и установить


Атрибут &quot;алиса&quot; должен быть объявлен для типа элемента &quot;typeAlias&quot;.

Изучая mybatis, только начал писать профили mybatis-config.xml ,, при верхнем копировании и вставке alisa ошибка: Атрибут "alisa" должен быть объявлен для элемента типа "typeAlias" Worka.


Объявленный пакет &quot;com.how2java.j2se&quot; не соответствует ожидаемому пакету &quot;&quot;

Объявленный пакет "com.how2java.j2se" не соответствует ожидаемому пакету "" Я столкнулся с этой ошибкой, потому что первый написанный документ после загрузки сервера вызвал ее, де.


Ошибка в смонтированном хуке: &quot;TypeError: Невозможно установить свойство 'bottom' элемента undefined&quot;

Шаблон в родительском компоненте music-list.vue вызывает прокрутку дочернего компонента Установите нижнее значение корневого элемента дочернего компонента в методе в методах родительского компонента.


образ операционной системы &quot;windows&quot; нельзя использовать на этой платформе

Сообщение о проблеме Core3.1 для Windows10 Docker, причина в том, что при создании проекта мы выбираем Windows, когда вы выбираете поддержку Docker. Решение Щелкните проект правой кнопкой мыши -------> Добавить.

Дополнительные рекомендации


Эта задача немного проще. Порт Томкэт занят. Я использовал плагин горячего развертывания JReble в IDEA. После обновления IDEA обнаружил, что порт занят. Возможно, мой компьютер не был разрешен.


Исключение в потоке &quot;AWT-EventQueue-0&quot; java.lang.NullPointerException

Исключение возникло при добавлении события прослушивателя мыши в проект Swing. Исключение в потоке "AWT-EventQueue-0" java.lang.NullPointerException at day02.LoginFrame$MyAct.


Spring Security Для идентификатора &quot;null&quot; не сопоставлен PasswordEncoder.

java.lang.IllegalArgumentException: для идентификатора "null" в org.springframework.security.crypto.password.DelegatingPasswordEncoder$Unmapp не сопоставлен PasswordEncoder.


django.template.exceptions.TemplateSyntaxError: '&quot;мой фильтр"' не является зарегистрированным тегом весов

Ошибка может: 1. Создать новый файл в каталоге приложения templatetags, который определяется как пакет не созданный __init__.py 2. Выдать написанные процедуры Создать файл в templatetags myfilter.py htm.


IDA 7.0 Python импортирует &quot;сайт&quot; не удалось

Яма моего относительно долгого времени, чтобы другие люди не попали в яму, своевременно писать в блоге, чтобы рассказать другим, в соответствии с принципом обмена знаниями и технологиями. Потому что это .

В прошлом году Microsoft объявила об удалении всего контента, подписанного SHA-1, из загрузок Microsoft в этом сообщении блога, поскольку алгоритм SHA-1 больше не считается безопасным. Первоначальный график был немного растянут из-за COVID-19, но с января 2021 года этот контент больше не размещается на серверах Microsoft.

Это затронуло устаревший DirectX SDK, среду выполнения DirectX для конечных пользователей и веб-установщик среды выполнения DirectX для конечных пользователей. В январе 2021 года они были удалены из Центра загрузки Microsoft. По состоянию на 20 февраля 2021 года эти три загрузки были повторно опубликованы с использованием подписи SHA-256 для «внешних» контейнеров — содержимое или двоичные файлы не претерпели никаких изменений. Библиотеки полезной нагрузки по-прежнему используют SHA-1, и существуют известные проблемы с безопасностью, поэтому настоятельно рекомендуется перейти на замену, упомянутую в этом посте.

Как я неоднократно сообщал, этот устаревший установщик никогда не устанавливает DirectX (т. е. не изменяет Direct3D, DirectDraw, DirectSound, DirectInput и т. д.) вообще. Эти компоненты строго обслуживаются как часть операционной системы. См. этот пост в блоге.

Для игр, в установку которых была включена папка DirectX SDK REDIST, это не повлияет, поскольку она продолжает работать. Следование устаревшим рекомендациям по сокращению количества отправляемых CAB-файлов для контроля общего размера загружаемых файлов и носителей остается полезным вариантом согласно Microsoft Docs.

Для устаревших игр, созданных с помощью DirectX SDK и использующих Desktop Bridge, вы по-прежнему можете использовать «пакет DirectX Framework» Microsoft.DirectX.x86 / Microsoft.DirectX.x64, которые остаются доступными, поскольку приложение подписано с помощью SHA- 256.

Как и в прошлом десятилетии, мы настоятельно рекомендуем больше не полагаться на устаревший DirectX SDK или его устаревшее решение повторной рассылки DirectSetup. Большая часть заголовков «DirectX» уже есть в современном Windows SDK, поэтому вам устаревший DirectX SDK вообще не нужен для следующих компонентов:

< td>Компилятор HLSL
Компонент DirectX Файлы разработчика в Windows SDK
Общие Dcommon.h, D3Dcommon.h, DXGUID.LIB
Direct2D D2D1.h, D2D1Helper.h, D2DBaseTypes.h, D2Derr.h, d2d1.lib
DirectWrite DWrite.h, dwrite.lib
Direct3D 11 D3D11.h, D3D11SDKLayers.h, D3D11Shader.h, d3d11.lib
Direct3D 10.1 D3D10_1.h , D3D10_1shader.h, d3d10_1.lib
Direct3D 10 D3D10.h, D3D10effect.h, d3d10misc.h, d3d10sdklayers.h, D3D10shader.h , d3d10.lib
Direct3D 9 d3d9.h, d3d9caps.h, d3d9types.h, d3d9.lib
DXGI DXGI.h, формат DXGI.h, DXGIType.h, dxgi.lib
DirectDraw DDraw.h. См. этот пост в блоге, чтобы узнать, почему нет ddraw.lib.
DirectInput dinput.h, dinputd.h, dinput8.lib
DirectSound dsconf.h, dsound.h, dsound.lib
DXDiagProvider dxdiag.h
Game Explorer UX gameux.h
D3Dcompiler.h, d3dcompiler.lib. Дополнительную информацию см. в этом сообщении блога.
D3DX11 Compute Shader Utility D3DCSX.h, D3DCSX.lib, D3DCSXd. библиотека

DirectX 12 никогда не входил в состав устаревшего DirectX SDK. Эти заголовки и библиотеки являются частью Windows SDK, а также GitHub.

В этом блоге подробно описаны многочисленные замены устаревшего D3DX11, большинство из которых имеют открытый исходный код: Жизнь без D3DX.

Пользователям D3DX10 настоятельно рекомендуется выполнить перенос на Direct3D 11 и использовать описанные выше замены D3DX11. Нет технических причин для использования Direct3D 10.x. Подробное руководство по переносу см. в Microsoft Docs.

Существует возможность получить устаревшие библиотеки D3DX9, D3DX10 и/или D3DX11 без использования устаревшего DirectX SDK или повторного распространения через NuGet. Альтернативы с открытым исходным кодом по-прежнему предпочтительнее. Дополнительные сведения см. в этом сообщении в блоге.

D3DX12 (то есть D3DX для DirectX 12), конечно, по-прежнему актуален. Он никогда не поставлялся в устаревшем DirectX SDK и не имеет никакой зависимости от устаревшего переиздания DirectSetup. См. этот пост в блоге.

XАудио2

Лучший вариант — перейти на XAudio 2.9. В Windows 10 это встроено, и все включено в Windows SDK. Для Windows 7/Windows 8.x вы можете использовать XAudio2Redist. См. Документы Microsoft. В первую очередь изменения касаются нумерации устройств, получения маски канала для устройства вывода и перехода на унифицированную xaudio2.lib , так что это быстрый и простой перенос.

Примеры см. на GitHub.

Не используйте XAudio 2.7 или более ранние версии. Он содержит ряд известных ошибок, а также использует устаревшее распространение.

XInput

Windows SDK включает xinput.h/xinput.lib/Xinput9_1_0.lib. Вы можете использовать XInput 9.1.0 для поддержки Windows 7, так как он всегда присутствует в ОС. См. этот пост в блоге.

Примеры см. на GitHub.

Не используйте XInput 1.1, 1.2 или 1.3. Они основаны на устаревшем распространении, и существуют известные проблемы с безопасностью при использовании этих версий библиотек DLL.

XNAMath

Для библиотеки XNAMath ( xnamath.h ) лучшим и самым простым решением является обновление до DirectXMath, доступного в Windows SDK, GitHub, NuGet и vcpkg.

Подробное руководство по переносу см. в Microsoft Docs.

Управляемый DX 1.1

Управляемые сборки DirectX 1.1 давно объявлены устаревшими. Их вообще нельзя больше использовать. См. этот пост в блоге.

Для DXERR.H / DXERR.LIB см. эту запись в блоге.

Заголовок помощника по математике XDSP.H можно найти на GitHub. Он основан на DirectXMath.

XACT так и не получил широкого распространения. Прямой замены XACT не существует. Не рекомендуется использовать в новых проектах.

Устаревший DirectX SDK включал в себя среду выполнения DirectX Developer, которая обеспечивала поддержку устройства «Отладка» для Direct3D 9 в Windows 7 или более ранней версии. Он также включал несколько устаревший уровень отладки Direct3D 10/Direct3D 11, несовместимый с DirectX 11.1 или более поздней версии.

В Windows 10 вы включаете дополнительный компонент Графические инструменты, чтобы включить среду выполнения DirectX Developer. Это не включает поддержку устаревшей отладки Direct3D 9.

Для Windows 7 с DirectX 11.1 или Windows 8.x среда выполнения DirectX Developer устанавливается с помощью Windows SDK. Опять же, это не включает поддержку устаревшей отладки Direct3D 9.

Все приведенные выше советы предполагают, что вы ориентируетесь на Windows 7 или более позднюю версию. Для Windows XP/Windows Server 2003 нет другого выбора, кроме как использовать устаревший DirectX SDK. Чтобы ориентироваться на Windows XP, вы должны использовать Windows SDK 7.1A вместо современного Windows SDK, который был до того, как содержимое DirectX было полностью перенесено. Windows 8.x SDK и Windows 10 SDK не поддерживают разработку для Windows XP.

Действительный хэш SHA-512 для исходного исполняемого файла с подписью SHA-1:

Действительный SHA-512 для исполняемого файла с подписью SHA-256:

Дополнительную информацию об использовании Windows 7.1A SDK см. в этой записи блога.

Кроме того, обязательно прочитайте об этой известной проблеме с устаревшей установкой DirectX SDK.

Читайте также: