You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Generated files whose names differ only in case overwrite each other #70
Classes such as TExpr and Texpr generate include/Texpr.h and src/Texpr.cpp on case-insensitive file systems (Windows, macOS), so one overwrites the other and the build fails with unrelated-looking errors. Build.xml still lists both, and their object names collide too. The compiler should mangle the names; the build tool can at least detect the collision and say so.
Status: the rest needs a change in the Haxe compiler (label needs haxe). Nothing more to do in libhxcpp until that lands.
Done here:fdb8d95 (on main) stops the build with an error that names the colliding files and says they differ only in case. Test: test/case_collision, also run in CI.
Remaining, in HaxeFoundation/haxe's C++ generator (the compiler, not the std): when two types would get file names that differ only in case, give one of them a different file name and update the #include lines and Build.xml entries to match. libhxcpp can't do this: the generator writes include/ and src/ before the build tool runs, so on a case-insensitive file system one file is already overwritten.
Workaround until then: rename one of the classes, or move one into a different package (packages become directories, so the files no longer collide).
Activity
dimensionscape commentedon Oct 19, 2026
Status: the rest needs a change in the Haxe compiler (label
needs haxe). Nothing more to do in libhxcpp until that lands.test/case_collision, also run in CI.#includelines and Build.xml entries to match. libhxcpp can't do this: the generator writesinclude/andsrc/before the build tool runs, so on a case-insensitive file system one file is already overwritten.