Cannot Open Source File D3dx9.h

0 views
Skip to first unread message

Regino Meriweather

unread,
Aug 3, 2024, 6:01:18 PM8/3/24
to maccxiholo

I tried many things but got the same error - Cannot open include file: 'd3dx9.h': No such file or directory
I know that I am missing something, but right now I do not have the knowledge to detect the main issue.

Cannot open source file "xxx.h" after upgrading to Visual Studio 2022
If you've just upgraded to Visual Studio 2022 and were working on MTA using a previous version, you may receive errors about header files not being found (stdio.h, stddef.h, etc) when building the project.

If you would like to contribute to MTA, you should install Git. This will allow you to collaborate with us by creating branches and pushing to your own fork. If you are not comfortable with the command line, we recommend you to download and install GitHub Desktop.

To get the latest code, you will have to download the latest copy of our Git repository.
We recommend cloning the repository in your Git client because you can pull any updates from there easily.

You can start your client in the Bin directory. You might find there a Multi Theft Auto.exe and/or Multi Theft Auto_d.exe executable. The _d suffix indicates a debug build of the software.
Furthermore, you can also run your client inside the debugger from Visual Studio if you want to investigate a stack trace or set breakpoints in interesting code regions (read more in the section Debugging below).

If you want to run the Multi Theft Auto dedicated server, you will have to install the required resources. These are required because they implement the most basic functionality (e.g. spawning players) in order to play.

When you use breakpoints during debugging, you may get kicked by the server due to timeout, because the client is frozen. To prevent this, create the timeout.longtime file in your Bin/server/ directory. The content of the file is the new timeout duration in seconds, so make sure you type a huge number in there. If you keep the file empty, the timeout will be set to 120 seconds.

This NuGet package is intended to provide a supportable option for existing codebases, as well as for Direct3D 9 and/or Direct3D 10-based games. It can also be used for middleware engines or content tools that continue to rely on the D3DX11 deprecated utility library. For new projects you should prefer to use the open source replacements instead. For on-going projects, plan to move to the open source replacements when feasible.

These older samples build and run without the legacy DirectX SDK, and just use the Windows 10 SDK plus the Microsoft.DXSDK.D3DX NuGet package. You can find them published on directx-sdk-legacy-samples.

The only changes here were for updating the VC++ project files, a few minor VS 2019 warning fixes, and the NuGet. I removed all references to the DXSDK_DIR environment variable. I also eliminated all references to dxerr.lib and instead added the dxerr code to DXUT / DXUT11 directly.

When it comes time to ship your game or application, just ship the D3DX9_43.DLL, D3DX10_43.DLL, and/or D3DX11_43.DLL along with D3DCompiler_43.DLL depending on your usage as part of your normal package. No need for administrative rights to install them, no need to use the DirectSetup API, no registry editing needed. See the NuGet license for more details.

Note you cannot use D3DX9, D3DX10, and/or D3DX11 in a Universal Windows Platforms (UWP) or Xbox app. These DLLs will not pass WACK certification. For those cases, the open source route is the way to go.

One bonus here is that D3DX9_43.DLL includes an implementation of the X-File parser API. These are the ID3DXFile interface and related APIs. The D3DX9xof.H header and d3dx9.lib import library provide access to these APIs.

This package contains the headers, import libraries, and runtime DLLs for the deprecated D3DX9, D3DX10, and D3DX11 utilities libraries. These versions match the legacy DirectX SDK (June 2010) release. In combination with XAudio2Redist, using XInput 1.4 or XInput 9.1.0, and the Windows SDK, it's intended to remove any need to use the legacy DirectX SDK when targeting Windows 7 or later.

This package does not rely on the DirectSetup / DXSETUP.EXE / DXWEBSETUP.EXE legacy redistributable (a.k.a. the "DirectX End-User Runtime"). These components are designed to work without requiring any content from the legacy DirectX SDK. For details, see Where is the DirectX SDK?.

For Direct3D 11 users, the recommendation is to switch from D3DX11 to one of many open-source replacements to remove the need for this legacy NuGet package. For more information, see Living without D3DX.

All content and source code for this package are subject to the terms of the LICENSE file. You are given permission to redistribute the following binary files 'application local' unmodified with your application:

The DirectX Developer Runtime (i.e. the Direct3D "DEBUG device") enabled by D3D11_CREATE_DEVICE_DEBUG and/or D3D10_CREATE_DEVICE_FLAG flags is not provided in this package. For Windows 10, this is installed via the "Graphics Tools" Windows optional feature. For Windows 7, Windows 8.1, and Windows 10 this is installed by the Windows SDK. The Debug versions of the D3DX9, D3XD10, and D3DX11 DLLs are included. For more information see Microsoft Docs.

The DLLs in this NuGet package have been SHA-256 Authenticode signed. The original legacy DirectX SDK (June 2010) DLLs were SHA-1 signed. Microsoft has deprecated use of SHA-1 signing. See Microsoft Docs.

The "D3DCompiler_43.dll" is provided in this package as it is used by D3DX when using D3DXCompileShader , D3DX10CompileFromFile, D3DX11CompileFromFile, etc. It is recommended to use the D3DCompiler API directly using the header, import library, and runtime DLL from the Windows SDK (i.e. "D3DCompiler_47.dll" which is included in Windows 8.1 and Windows 10, and is available for 'application local' deployment for Windows 7 support). Direct use of "D3DCompiler_43.dll" is not supported by this package.

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

I have used a premiere project that was 3 and a half minutes long, had multiple layers, color correction, upscaling (and maybe something else I might forgot). With the mainconcept encoder it took exactly 5 minutes to encode the project. With the hardware encoder it only took 1 minute and 10 seconds to encode!

I followed your instructions and downloaded MP4box.exe but my Premiere Pro sais, path to MP4box.exe is not valid. Recommendation is to confirm path to MP4box.exe, but there is no option how to set the path, see my image. Are you onto this problem? Can I expect to work it in a future?

(Alternatively, you can export audio if you change the multiplxeing choice to ; that will chose MPEG-2 transport stream. However, Windows Media Player doesn't support WAV-audio inside *.ts files, and your exported videos will play without sound.)

Thank you.What a great codec.Super fast.My problem is the encoded files disappear as soon as AME finishes its work.I can see the m4v file in the save folder but then its gone at the instant AME finishes.Thanks for any reply.

I appreciate your help. Sorry for bothering you again, but I can't see any options in AUDIO. I have downloaded the AAC Nero encoder, but there is no installation path. It's just .exe file with the encoder itself.

My apologies... I'm unable to duplicate this exact problem on my end. But I have noticed that if you use an older-preset with the newer version of nvenc_export plugin, the older-preset will hide dialog-boxes and options. The best way to avoid this, is to import one of the presets from the ZIP file. In the zipfile, they're in this subdir: sharingcenter/Presets/pc/OTHERS/nvenc_export

Alternateively, you can run Adobe Media Encoder, and from there, delete ALL of the nvenc_presets that you've created. The next time you open the nvenc_export plugin, Adobe will rebuild a default-preset from scratch. And hopefully, all of the missing dialog-boxes/options should be visible:

Well, I also have considered trying to implement "NVEnc" to another software.
If you do not mind, could you tell me where you have purchased a "NVENC client license key?"
I looked on the Internet, but it couldn't be found for me.

My encode time for a 40 min 1080p video in H264 went down from several hours to just 20 minutes !!! Even better, CPU usage remains at around 15% during encode, whereas before it was stuck at 99% !!! So before, my PC was useless for hours during encode, whereas now I can still use it with the encode happening in the background. Not to mention the lightning fast encoding. Quality wise the result is perfect for me, as a hobbyist.

Adobe / nvidia should invest a little time in such a plugin. Especially nvidia, because such a plugin in itself justifies the price of a high-end CUDA card. Obviously there is still potential for improvement of the plugin, as my GPU load averaged only 30% during encode. This means it hasn't unleashed the full potential of CUDA processing just yet.

I have a GeForce GTX 780 ( I already have added it in the text file of premiere pro) and I'm trying to encode with this awesome plugin. But everytime I'm trying to do that, I'm getting the same error concerning SDK_File.cpp so the encoding wouldn't start. Check the screen below :

I must apologize for the condition of the source-code. I'm not a professional software developer, so some dir/paths might not work correctly out-of-the-box. You'll need to know your way around Windows application development to fix some basic compile environment issues (for example, "d3dx9.h missing".)

First of all, thanks for all your hard work on this plug-in! I am having some trouble though. I followed the install directions exactly, but every time I try to export using NVENC v1.08 I get the following:

c80f0f1006
Reply all
Reply to author
Forward
0 new messages