Wire up remaining DirectX SDK paths; build now succeeds

Verified full build with VC++ 2008 Express SP1 + Windows SDK v6.0A + DirectX
SDK (June 2010): 4 Projects succeeded, 0 failed (Release|Win32). Outputs:
Release\rpl4opt.exe, Release\RPL4TOOL.exe, lib\Munga_L4.lib, lib\DivLoader.lib.

Two projects referenced DirectX but were never repointed at $(DXSDK_DIR)
(they had no hardcoded path to replace earlier):

- DivLoader.vcproj: add "$(DXSDK_DIR)Include" to both compiler configs
  (was failing on D3DX9.h).
- RPL4TOOL.vcproj / RPL4TOOL VS2008.vcproj: add "$(DXSDK_DIR)Lib\x86" to the
  linker search path (was failing with LNK1181 on dinput8.lib).

.gitignore: ignore the build-output static libs that land in lib/
(Munga_L4.lib, DivLoader.lib); the dependency libs OpenAL32.lib and
libsndfile-1.lib stay tracked.

BUILD.md / docs/BUILD-NOTES.md: record the verified build, the CLI recipe,
and the DXSDK_DIR stale-environment gotcha.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-01 09:56:19 -05:00
co-authored by Claude Opus 4.8
parent f849415c02
commit 8d18ce0ee4
6 changed files with 84 additions and 9 deletions
+31
View File
@@ -118,6 +118,37 @@ Changes:
`CString` in this file is **MUNGA's own** class (`MUNGA/CSTR.h`), not ATL's, so
dropping the ATL headers does not affect it.
### 2.5 Wire remaining DirectX SDK paths (build now succeeds)
The first real build attempt surfaced two projects that referenced DirectX but
were never repointed at `$(DXSDK_DIR)` (they had no hardcoded path to replace in
§2.3):
- **DivLoader** failed to compile (`VGCDivLoader.h`: cannot open `D3DX9.h`).
Added `AdditionalIncludeDirectories="$(DXSDK_DIR)Include"` to both compiler
configurations.
- **RPL4TOOL** failed to link (`LNK1181: cannot open input file 'dinput8.lib'`).
Added `$(DXSDK_DIR)Lib\x86` to `AdditionalLibraryDirectories` in both
`RPL4TOOL.vcproj` and `RPL4TOOL VS2008.vcproj`.
After these edits: **`4 Projects succeeded, 0 Projects failed`** for
`Release|Win32`.
> **Environment gotcha:** the DirectX SDK installer sets `DXSDK_DIR` at machine
> scope, but any shell already running when it was set won't inherit it. The
> first build failed on `D3DX9.h` purely because the build shell had an empty
> `DXSDK_DIR`; setting it explicitly in the build script fixed it. See the CLI
> recipe in [BUILD.md](../BUILD.md) §7.
### 2.6 Build outputs kept out of git
The Release build writes `Munga_L4.lib` and `DivLoader.lib` into the tracked
`lib/` directory (that is their configured output path). These are build
artifacts — `Munga_L4.lib` alone is ~200 MB — and are now git-ignored by name.
The two genuine dependency libs in `lib/` (`OpenAL32.lib`, `libsndfile-1.lib`)
remain tracked. Executables and per-project `Release/`/`Debug/` intermediate
folders were already covered by `.gitignore`.
---
## 3. Project reference data