Code::Blocks Forums
User forums => General (but related to Code::Blocks) => Topic started by: ilcvm on November 11, 2009, 05:13:04 am
-
Hi, it seems there is a bug in Global complier settings dialog.
I want to use the ARM complier of the Realview MDK toolchain.
So I type the "E:\Keil\ARM\BIN40" in the directory text box and "armcc.exe" in C complier text box in the "Toolchain executables" tag.
But it fail when I try to complier. The fail msg is as below
armcc.exe --device DARMST --diag_style=gnu -c E:\fcl\Source_Code\CB_MDK_test\main.c -o obj\Debug\main.o
Execution of 'armcc.exe --device DARMST --diag_style=gnu -c E:\Source_Code\CB_MDK_test\main.c -o obj\Debug\main.o' in 'E:\fcl\Source_Code\CB_MDK_test' failed.
Nothing to be done.
And if I add "E:\Keil\ARM\BIN40" in "Additional Paths", the building will succeed.
This really confuse me.
Thanks.
-
And if I add "E:\Keil\ARM\BIN40" in "Additional Paths", the building will succeed.
This is correct. Look: What you have to provide in the toolchain path is the base path to the compiler. For GCC, its the top-level path with sub-folders called "bin" with the executables, "include" with headers, "lib" with libraries. C::B will try to search for the compiler in the sub-folder "bin". In your case I assume the folder structure is not standard GCC conform and the sub-folder with the executables is strangely called "BIN40" here. So that's what the additional path's selection was made: To add strangely non-conform sub-folders to the list of directories where C::B looks for the compiler.
So everythig is right except that you have to change the base folder to "E:\Keil\ARM" (assuming it has the sub-folders mentioned above).
-
And if I add "E:\Keil\ARM\BIN40" in "Additional Paths", the building will succeed.
This is correct. Look: What you have to provide in the toolchain path is the base path to the compiler. For GCC, its the top-level path with sub-folders called "bin" with the executables, "include" with headers, "lib" with libraries. C::B will try to search for the compiler in the sub-folder "bin". In your case I assume the folder structure is not standard GCC conform and the sub-folder with the executables is strangely called "BIN40" here. So that's what the additional path's selection was made: To add strangely non-conform sub-folders to the list of directories where C::B looks for the compiler.
So everythig is right except that you have to change the base folder to "E:\Keil\ARM" (assuming it has the sub-folders mentioned above).
oh, I see. Thanks for your explanation.