We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, In the project settings, I check the "Create batch file" opitons in the "Output" panel to generate a batch file, so that I may build the project without the Keil IDE. But the keil is install in the dir "D:\Program Files\Keil" on my computer (there is a ' ' in the path string). The last line of the batch file created by keil is D:\Program Files\Keil\ARM\BIN40\fromelf.exe ".\output\test.axf" --i32combined --output ".\output\test.hex" Note that there's no quote surrounding the path string. So I have to add the quotes to avoid the syntax error. It's very troublesome to editor the batch file every time after I rebuild the project in the Keil IDE (when a new source file is added, I have to rebuild it to update the batch file).
How can I solved this? Write another batch file to automaticly check and modify the batch file and finally open it?
It's not just Keil. It's pretty much anything that relies upon command-line utilities to do the real work - which is pretty much any development tool!
Two rules to be safe:
1. No spaces in filenames (including folder names) where the tools are installed;
2. No spaces in filenames (including folder names) for any source file (including project files, etc).
Yes. And3 no Chinese Character besides :(
I guess it is because that many development tool are developed when the Windows did not even support long file name.
No. Unix systems do support spaces, but most Unix-based development tools still don't handle them correctly anyway.
And most Windows development tools are based on Unix tools.
Talking about Windows and file name support - M$ have for ages had rules for how to write well-working programs. Like not expecting what characters are valid in a file name except the characters that are explicitly forbidden. Despite that, it took many years before M$ managed to follow that rule in their own programs. They often either failed to save/load with people used national characters, or could save/load but used a font that showed a black box instead of the national characters.
The problems with spaces in file and directory names comes from todays use of graphical user interfaces, where spaces are natural to use. People who worked on the command line, either directly noticed issues with spaces and avoided using them, or learned to quote or escape their commands.
From the problems with spaces in file and directory names, we have to assume that Keil staff forgets to install their tools or source code in paths with spaces and then verify that all generated files do quote or escape spaces as required.
Thanks. I may reinstall Keil to another directory someday.
The default installation folder, I think, is C:\Keil
I don't like to go cluttering-up my root folder like that, but someone else installed it for me...
I clutter my root directory with a \bin\ where I add a number of tools that I don't want to disappear into the huge Program Files tree. All tools that makes use of command-lines or similar gets into the \bin\ tree, to make sure that Makefile etc will function as expected.
I also have \doc\ and \usr\ and these together with \bin are my main directories to backup.
Yes, that's what I do.
"I also have \doc\ and \usr\"
Likewise.
Note that the "My Documents" shortcut can be set to point to such a place...