In the process of switching from Keil uVision into arm Development Studio, and working with the mbed library, I was bitten by the 8191 chars command line length limit of Windows.
The mbed library contains many include folders and the resulting armclang command line including all such paths is well beyond the 8191 chars allowed by cmd.exe (now it is around ~20000 chars in length, and that for the baremetal profile of mbed), so it is truncated by the OS resulting in armclang refusing to compile a thing.
Has anyone coped with this?
For now I managed this using symlinks in the filesystem, a manual and error prone approach. I'm aware of the @file armclang option allowing armclang to get command line arguments from a file. Is there a way to force arm DS to use such mechanism? Any other approach?
Thanks and regards.
You asked "I'm curious about how does Keil uVision to cope with this."Keil uVision generates via files for the compiler and the linker per file when building a project. They are mentioned here: developer.arm.com/.../B--File-TypesSee Build Files "*._AC, *._IA, *.__I, *._II, *.SCR: tool invocation files." and usually located in the Objects folder.