name: build-dll description: Build the S2S CvGameCoreDLL via FastBuild. Use when the user wants to compile the DLL, run a compile check after editing Sources/, do a clean rebuild, or deploy the built DLL into Assets/. Also use to diagnose LNK2001 link errors.
Build the CvGameCoreDLL
The build is driven by Tools/_Build.ps1 (a FastBuild wrapper). Always run it
from the Sources/ directory.
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "../Tools/_Build.ps1" <Config> <verb> [<verb> ...]
- Configs:
Assert,Debug,Release,FinalRelease,Testing. Output →Build/<Config>/CvGameCoreDLL.dll(+.pdb). - Verbs (composable, in order):
clean,build(incremental),rebuild(clean+build),deploy(xcopy DLL/PDB intoAssets/). - Modifier —
nostop(opt-in): passes FastBuild's-nostoponerrorso the build keeps going after a failed object instead of stopping at the first, reporting across far more translation units in one pass. Position in the argument list does not matter (Assert build nostop); theMakeDLL*.batshortcuts accept it too.
Choosing what to run
- Quick compile check after an edit (the default for verifying a change builds):
Assert build. Incremental link is ~30s. - Clean rebuild:
Assert rebuild(or another config). Several minutes (~25 unity batches × ~30s). - Build + install into the game: add
deploy, e.g.Release rebuild deploy. - The
Tools/MakeDLL*.batshortcuts always do a fullrebuild deploy— don't use them for an iterative compile-check loop.
After the build
- C++ code must stay C++2003-only (no
auto, lambdas, range-for,nullptr,override). SeeSources/AGENTS.md. - If the change touched XML/Python interfaces, validate:
Tools/XmlValidator.exe -aandTools/XMLTools/verify-python-callbacks.py.
Troubleshooting LNK2001
If FastBuild fails at link with LNK2001: unresolved external symbol (but the
IDE compiles fine), a new Sources/<Dir>/ is probably missing from the build's
source-of-truth. Sources/fbuild.bff — not the .vcxproj — decides what FastBuild
compiles. Fix:
- Add
$SOURCE_DIR$/<Dir>to the.UnityInputPatharray inSources/fbuild.bff(~line 201). - Add the files to
Sources/S2S.vcxprojand…vcxproj.filters(IDE display only).
Sources/Repos/ and Sources/Utils/ are reference examples of a correctly wired subdirectory.
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.