User forums > General (but related to Code::Blocks)

A bug in complier setting

(1/1)

ilcvm:
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.

MortenMacFly:

--- Quote from: ilcvm on November 11, 2009, 05:13:04 am ---And if I add "E:\Keil\ARM\BIN40" in "Additional Paths", the building will succeed.

--- End quote ---
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).

ilcvm:

--- Quote from: MortenMacFly on November 11, 2009, 06:31:54 am ---
--- Quote from: ilcvm on November 11, 2009, 05:13:04 am ---And if I add "E:\Keil\ARM\BIN40" in "Additional Paths", the building will succeed.

--- End quote ---
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).

--- End quote ---

oh, I see. Thanks for your explanation.

Navigation

[0] Message Index

Go to full version