cancel
Showing results for 
Search instead for 
Did you mean: 

Release build not defining compiler

Dave Jones
Associate III
Posted on March 29, 2018 at 22:22

I am using the latest TrueStudio with a project for STM32L452 created using the latest STM32CubeMX.

The created project contains both a debug and a release build. When I set the debug as active and look in one of the files that contains conditional compiles based on the compiler (core_cm4.h) I see that the lines for __GNUC__ are not grayed out. So obviously that compiler is defined somewhere.

However when I set the release build as active and look at that same file, all the conditional statements based on compiler are grayed out, and the final 'else' for 'unknown compiler' is the one not grayed out. So clearly __GNUC__ is not being defined anywhere.

Also, when I go to the build settings and select the release build I see a warning at the top that says 'Orphaned configuration. No base extension cfg exists for com.atollic.truestudio.exe.release.1518366166'. I don't get that when I select the debug build.

So, what does that warning actually mean, and why is the compiler not defined in the release build? (and where is it normally defined?)

22 REPLIES 22

I saw "Orphaned configuration..." about 1 month ago. One of Release or Debug was OK and they only differed by preprocessor defines and compiler optimisation level. Under Build Configurations --> Manage..., I deleted the bad one, then click New... and re-created it copying settings from the good one and re-configured its preprocessor defines and compiler optimisation.

Markus Rudolf
Associate III

looks like the forum ate another post of mine. I posted another one presumably while you were answering mine. So mine is gone now. This whole thing *****. Why can't ST have a normal discussion forum like myPHPBB based or whatever.

Appears to have lost one of mine too. I'd replied your earlier post.

Try:

  1. The delete the bad config, create a new one copied from the good one and fix the deltas.
  2. Suspecting a tool compatibility problem, using latest STM32CubeMX and TS versions, delete the .project and .cproject and re-generate.
  3. Continuing the compatibility idea, delete the .metadata from the root and the .settings from each project directory and the .project and .cproject. BTW none of the .metadata should be version controlled. Then re-generate. You'll have to build a new workspace. The workspace should be at the root of your repo. Then Import..., Existing Projects...