Author Topic: A bug in complier setting  (Read 7058 times)

Offline ilcvm

  • Single posting newcomer
  • *
  • Posts: 8
A bug in complier setting
« 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.


Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: A bug in complier setting
« Reply #1 on: November 11, 2009, 06:31:54 am »
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).
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline ilcvm

  • Single posting newcomer
  • *
  • Posts: 8
Re: A bug in complier setting
« Reply #2 on: November 11, 2009, 07:25:10 am »
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.