[Qt-creator] [BareMetalPlugin] Problems with the QBS projects

Denis Shienkov denis.shienkov at gmail.com
Sun Dec 1 16:11:55 CET 2013

Hello guys.

This continuation of the thread begun here:


Short prehistory:

I try to use the BareMetal plug-in from the QtCreator for creation a 
project for the STM32F4DISCOVERY board with use the QBS on the Windows 
host PC.

Note: The archive of the minimum source project (qbststapp.zip) see in 


- QtCreator v3.0.81, from Git: b75919cb89707502e0b94bb4426530b9bb5fad63
- QBS, from Git: 8e1cba759fa91d2537bed76eb604c6a26df415b2
- Host OS: Windows 8x64
- Target OS: None
- GCC: v4.7, arm-none-eabi-gcc


1. Add a custom GCC compiler and specify a path to him, e.g.:

- Name: ARM-GCC
- Compiler Path: C:\Program Files (x86)\GNU Tools ARM Embedded\4.7 
- ABI: arm-unknown-unknown-unknown-32bit

2. Add a custom GCC debugger and specify a path to him, e.g.:

- Name: ARM-Debugger
- Path: C:\Program Files (x86)\GNU Tools ARM Embedded\4.7 
- ABI: arm-unknown-unknown-unknown-32bit

3. Add a custom Kit:

- Name: ARM-kit
- Device type: Bare Metal Device
- Device: Bare Metal Device (default for Bare Metal)
- Sysroot: Empty
- Compiler: ARM-GCC
- Debugger: ARM-Gebugger
- Qt version: None
- Qt mkspec: Empty

Note: I.e. in my case available only one Kit!

4. At trying to open a "Bare Metal" QBS project I got an error:

error: TypeError: Result of expression 'qbs.toolchain' [undefined] is 
not an object."

Thus opens the file "windows-mingw.qbs" and the marker is set on a 


import  qbs.FileInfo

import  '../utils.js'  as  ModUtils

import  "windows.js"  as  Windows

GenericGCC  {

==>condition:  qbs.targetOS.contains("windows")  &&  qbs.toolchain.contains("mingw")


5. Next, I tried to delete modules the "windows-mingw.qbs" and the 
"windows-msvc.qbs" and re-open the project.
But in this case I got an other error:

"E:\git\ng\git\qbststapp\qbstest.qbs:5: error: Module cpp could not be 

Thus opens the qbs file of my project and the marker is set on "depends":


Product  {

     type:  "application"

==>Depends  {  name:"cpp"  }


Thus, I don't understand where I should to pay attention for the 
solution of this problem. QBS is a black box for me, I don't understand 
how it works and what is required.

Maybe I should write a separate QBS module for the BareMetal plugin 
(like "windows-mingw.qbs"), which should not contain a check on target 
OS name?

Guys, can someone help me? :(

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qt-creator/attachments/20131201/7e293230/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: qbststapp.zip
Type: application/x-zip-compressed
Size: 91921 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/qt-creator/attachments/20131201/7e293230/attachment.bin>

More information about the Qt-creator mailing list