[Qt-creator] [BareMetalPlugin] Can't create a non-Qt project. No valid Kits found.

Tim Sander tim at krieglstein.org
Fri Nov 22 00:12:13 CET 2013


Hi Denis
> - Windows 8.1x64
> - QtCreator 3.0-beta (qt-creator-windows-opensource-3.0.0-beta.exe)
Oh you poor soul, who forces you to use this strange operating system?

> I want to use the BareMetalPlugin to create a some projects for the
> STM32F4DISCAVERY board.
> 
> I did everything as is specified in this manual:
> 
> http://doc-snapshot.qt-project.org/qtcreator-3.0/creator-developing-baremeta
> l.html
> 
> 1) I download and install the ARM-GCC Toolchain from:
> 
> https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q3-update/+download/gcc-> arm-none-eabi-4_7-2013q3-20130916-win32.exe
Be sure not to use -g3 (only -g) as this is a known bug with this toolchain.
> 2) I add the additional compiler
> "Options->Build&Run->Compilers->Add->GCC" and specified to it a path.
> In my case it: "C:\Program Files (x86)\GNU Tools ARM Embedded\4.7
> 2013q3\bin\arm-none-eabi-gcc-4.7.4.exe"
> 
> 3) I add the additional debugger
> "Options->Build&Run->Debuggers->Add->GCC" and specified to it a path.
> In my case it: "C:\Program Files (x86)\GNU Tools ARM Embedded\4.7
> 2013q3\bin\arm-none-eabi-gdb.exe"
> 
> 4) I add a new bare metal device "Options->Devices->Add->STM32F4-Discovery"
> 
> 5) I create a new Kit "Options->Build&Run->Kits->Add":
> 
> - Name: ARM
> - Device type: Bare Metal Device
> - Device: STM32F4DISCOVERY (default for bare metal)
> - Compiler: ARM GCC
> - Debugger: ARM GCC
> - Qt version: none
> 
> In this case my Kit doesn't report about errors (i.e. it isn't highlit
> yellow or red). I.e. I conclude that it's all right, is fine.
> 
> Next I try to create a new project "File->New file or project->Non Qt
> project->Plain C project->Choose->Next..."..
> 
> BUT! On the "Kit selection" page is not present my new ARM Kit! I
> can'not choose nothing, says "No valid kits found".
> 
> Can someone help me? It is a bug of BareMetal plug-in, or I do something
> incorrectly?
I have tested either a qmake based build and a qbs based build.
Had no time to test the other method but i think that cmake won't do as
the kits are explicitly mentioned in the cmake project manger source code
(not 100% sure). 

So i would recomend you a qbs based build which is the one which had the 
latest testing from my side. There is still a catch, as for qbs as you might 
need to compile assembly files with QBS. And i was a day or so to late for the 
1.1 branch to get this into qbs :-(. So the best way to archive an working is 
to check out the 3.0 qtcreator branch, init submodules, cd  src/shared/qbs/ 
and cherry pick 
81e3da6732c374c76e785de04759fe18e5b5fcd2
a700730a5bc34848ac9552c8f695fdb0bdb6b153
Then build your qtcreator as normal. After that you should create an qbs file
for you project and open this file in qt-creator.

> UPD: As I understood from the pipe-mail archive:
> 
> http://lists.qt-project.org/pipermail/qt-creator/2013-August/002441.html
> 
> what it is necessary to try to cross-compile by any "magic" way the Qt
> (which isn't used, but qmake is necessary) by means of a custom ARM-GNU
> toolchain? So, whether somebody try it for the Windows host?
Well you need a fake qt as noted in this* mail but  it has some issues with 
the ".exe" suffix on windows. As i used mingw makefile generator which 
automatically
add an .exe. So if you want to try the qmake based solution you should revert 
509047c8e8d7deb2f157ac45d1924c6153ed9b7d on windows with the qt4.8 fake
qmake referenced in:
*http://lists.qt-project.org/pipermail/qt-creator/2013-August/002531.html
(see attachment)

A qt5 fake-qt might work better but i had no time to test that. But i really 
think that the qbs based solution is far superior even if its currently not as 
tightly integrated into qtcreator as qmake.

If the source for your efforts is available i could take a look.

Best regards
Tim





More information about the Qt-creator mailing list