Rob Hatcherson <rob.hatcherson@xxxxxxxxxxxx> writes: > In my sort-of trivial test case - which is just a file that #include's > the offending file - the command line is this for both the case that > works and the case that doesn't: > > g++ -E \ > -IC:/WorkAreas/BuildOutput/ZedaSoft/Java/CBA/Domain/Physical/Plugin/Entity/F16/1.4.0/native/include > \ > blah.cpp > > > If the only thing in blah.cpp is this: > > #include > "com/zedasoft/cba/plugin/entity/platform/air/fighter/f16/view/cockpit/hud/f16hudcore/F16Hud.h" > > Then I get this result: > > blah.cpp:3:104: > com/zedasoft/cba/plugin/entity/platform/air/fighter/f16/view/cockpit/hud/f16hudcore/F16Hud.h: > File name too long > # 1 "blah.cpp" > # 1 "<built-in>" > # 1 "<command line>" > # 1 "blah.cpp" Thanks. As far as I can see, this error is happening because the open system call failed and set errno to some value. When strerror was called on that value, it returned "File name too long". Presumably the errno value is ENAMETOOLONG. You might try running gcc with the -v option to see what the last directory in the search path is, since it is presumably when using that directory that ENAMETOOLONG is returned. Otherwise I don't have any suggestions other than running it in the debugger to see what the actual failing name is. Ian