I try to convert my trivial qmlplugin from pro to qbs style:
so my pro is this:
TEMPLATE = lib
CONFIG += plugin
TARGET = QTestPlugin
DESTDIR = ../QTestPlugin
QT += quick qml concurrent axcontainer
CONFIG += c++11
CONFIG += precompile_header
MOC_DIR = ./mocs
PRECOMPILED_HEADER = StdAfx.h
PRECOMPILED_SOURCE = StdAfx.cpp
QMAKE_CXXFLAGS = /DNOMINMAX
QMAKE_CFLAGS = /Zc:wchar_t
QMAKE_LFLAGS_RELEASE+=/MAP
QMAKE_CFLAGS_RELEASE += /Zi
QMAKE_CFLAGS_DEBUG += /FS
QMAKE_LFLAGS_RELEASE +=/DEBUG /OPT:REF /INCREMENTAL:NO /OPT:ICF
QMAKE_CXXFLAGS += /FAcs #codfiles
QMAKE_CXXFLAGS += /FS
QMAKE_LFLAGS += /mapinfo:exports
win32:INCLUDEPATH += . \
$(CPP_LIB)"64" \
$(CPP_INCLUDE) \
$(CPP_INCLUDE)"\\WTL"
SOURCES += QTest.cpp \
StdAfx.cpp
HEADERS += QTest.h \
plugin.h \
..\MDTools.h \
StdAfx.h
include(QTestClass.pri)
DESTPATH=$$[PWD]/../QTestPlugin
target.path = $$DESTDIR/QTestPlugin
qmldir.files = QTestPlugin/qmldir
qmldir.path = $$DESTPATH
INSTALLS += qmldir target
QMAKE_POST_LINK = $$PWD/copyPlugin.bat
TEMPLATE = lib
CONFIG += plugin
TARGET = QTestPlugin
DESTDIR = ../QTestPlugin
QT += quick qml concurrent axcontainer
CONFIG += c++11
CONFIG += precompile_header
MOC_DIR = ./mocs
PRECOMPILED_HEADER = StdAfx.h
PRECOMPILED_SOURCE = StdAfx.cpp
QMAKE_CXXFLAGS = /DNOMINMAX
QMAKE_CFLAGS = /Zc:wchar_t
QMAKE_LFLAGS_RELEASE+=/MAP
QMAKE_CFLAGS_RELEASE += /Zi
QMAKE_CFLAGS_DEBUG += /FS
QMAKE_LFLAGS_RELEASE +=/DEBUG /OPT:REF /INCREMENTAL:NO /OPT:ICF
QMAKE_CXXFLAGS += /FAcs #codfiles
QMAKE_CXXFLAGS += /FS
QMAKE_LFLAGS += /mapinfo:exports
win32:INCLUDEPATH += . \
$(CPP_LIB)"64" \
$(CPP_INCLUDE) \
$(CPP_INCLUDE)"\\WTL"
SOURCES += QTest.cpp \
StdAfx.cpp
HEADERS += QTest.h \
plugin.h \
..\MDTools.h \
StdAfx.h
include(QTestClass.pri)
DESTPATH=$$[PWD]/../QTestPlugin
target.path = $$DESTDIR/QTestPlugin
qmldir.files = QTestPlugin/qmldir
qmldir.path = $$DESTPATH
INSTALLS += qmldir target
QMAKE_POST_LINK = $$PWD/copyPlugin.bat
To copy to clipboard, switch view to plain text mode
So compiling this project is no problem:
And this is my attempt to convert it to qbs:
import qbs 1.0
Product {
Depends { name: "cpp" }
property string cpp_include: qbs.getEnv("CPP_INCLUDE");
property string cpp_lib: qbs.getEnv("CPP_LIB");
property string vc_include: "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include"
property string vc_lib: "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\lib"
name: "QTestPlugin"
type: "dynamiclibrary"
destinationDirectory: "../QTestPlugin"
cpp.includePaths: [
'.',
cpp_lib+'64',
cpp_include,
cpp_include+'\\WTL',
vc_include,
vc_lib
]
cpp.precompiledHeader: "StdAfx.h"
//cpp.cxxLanguageVersion: "c++11"
cpp.cppFlags: "-std=c++11"
cpp.windowsApiCharacterSet : "unicode"
//cpp.warningLevel: "all"
files: [
"QTest.cpp",
"QTest.h",
"StdAfx.h",
"StdAfx.cpp",
"../MDTools.h"
]
//Depends { name: "Qt"; submodules: ["quick", "qml", "concurrent", "axcontainer"] }
//Depends { name: "Qt.core" }
Group {
name: "QTestClass"
prefix: "../Includes/"
files: [
"QTestClass.cpp",
"QTestClass.h"
]
}
}
import qbs 1.0
Product {
Depends { name: "cpp" }
property string cpp_include: qbs.getEnv("CPP_INCLUDE");
property string cpp_lib: qbs.getEnv("CPP_LIB");
property string vc_include: "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include"
property string vc_lib: "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\lib"
name: "QTestPlugin"
type: "dynamiclibrary"
destinationDirectory: "../QTestPlugin"
cpp.includePaths: [
'.',
cpp_lib+'64',
cpp_include,
cpp_include+'\\WTL',
vc_include,
vc_lib
]
cpp.precompiledHeader: "StdAfx.h"
//cpp.cxxLanguageVersion: "c++11"
cpp.cppFlags: "-std=c++11"
cpp.windowsApiCharacterSet : "unicode"
//cpp.warningLevel: "all"
files: [
"QTest.cpp",
"QTest.h",
"StdAfx.h",
"StdAfx.cpp",
"../MDTools.h"
]
//Depends { name: "Qt"; submodules: ["quick", "qml", "concurrent", "axcontainer"] }
//Depends { name: "Qt.core" }
Group {
name: "QTestClass"
prefix: "../Includes/"
files: [
"QTestClass.cpp",
"QTestClass.h"
]
}
}
To copy to clipboard, switch view to plain text mode
So I try it to rebuild:
16:06:58: Führe Schritte für Projekt QTestControl aus...
precompiling StdAfx.h (c)
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Bin/cl.exe /nologo /c /EHsc /O2 /MD /IC:\ProjectPath\QTestControl /ID:\dev60\projects\lib64
/ID:\dev60\projects\include /ID:\dev60\projects\include\WTL "/IC:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include"
"/IC:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib" /DNDEBUG /DUNICODE /D_UNICODE /FoC:\ProjectPath\QTestControl\qtc_Desktop-release\QTestControlPlugin.qtc_Desktop\.obj\StdAfx_c.obj
C:\ProjectPath\QTestControl\StdAfx.h /TC /Yc /FpC:\ProjectPath\QTestControl\qtc_Desktop-release\QTestControlPlugin.qtc_Desktop\.obj\QTestControlPlugin_c.pch
/FoC:\ProjectPath\QTestControl\qtc_Desktop-release\QTestControlPlugin.qtc_Desktop\.obj\StdAfx_c.obj C:\ProjectPath\QTestControl\StdAfx.h
C:\ProjectPath\QTestControl\StdAfx.h(13) : warning C4005: '_UNICODE' : macro redefinition
command-line arguments : see previous definition of '_UNICODE'
c:\program files\microsoft sdks\windows\v7.0\include\sal_supp.h(57) : warning C4005: '__useHeader' : macro redefinition
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\sal.h(2886) : see previous definition of '__useHeader'
c:\program files\microsoft sdks\windows\v7.0\include\specstrings_supp.h(77) : warning C4005: '__on_failure' : macro redefinition
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\sal.h(2896) : see previous definition of '__on_failure'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(74) : error C2061: syntax error : identifier '_com_error'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(74) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(84) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(84) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(85) : error C2061: syntax error : identifier '_variant_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(85) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(93) : error C2061: syntax error : identifier '_com_util'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(93) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(93) : error C2449: found '{' at file scope (missing function header?)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(120) : error C2059: syntax error : '}'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(144) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(144) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(144) : error C2449: found '{' at file scope (missing function header?)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(285) : error C2059: syntax error : '}'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(302) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(302) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(302) : error C2059: syntax error : ':'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(310) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(310) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(310) : error C2059: syntax error : ':'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(320) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(320) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(320) : error C2059: syntax error : ':'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(331) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(331) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(331) : error C2059: syntax error : ':'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(341) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(341) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(341) : error C2059: syntax error : ':'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(354) : error C2061: syntax error : identifier '_bstr_t'
16:06:58: Führe Schritte für Projekt QTestControl aus...
precompiling StdAfx.h (c)
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Bin/cl.exe /nologo /c /EHsc /O2 /MD /IC:\ProjectPath\QTestControl /ID:\dev60\projects\lib64
/ID:\dev60\projects\include /ID:\dev60\projects\include\WTL "/IC:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include"
"/IC:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib" /DNDEBUG /DUNICODE /D_UNICODE /FoC:\ProjectPath\QTestControl\qtc_Desktop-release\QTestControlPlugin.qtc_Desktop\.obj\StdAfx_c.obj
C:\ProjectPath\QTestControl\StdAfx.h /TC /Yc /FpC:\ProjectPath\QTestControl\qtc_Desktop-release\QTestControlPlugin.qtc_Desktop\.obj\QTestControlPlugin_c.pch
/FoC:\ProjectPath\QTestControl\qtc_Desktop-release\QTestControlPlugin.qtc_Desktop\.obj\StdAfx_c.obj C:\ProjectPath\QTestControl\StdAfx.h
C:\ProjectPath\QTestControl\StdAfx.h(13) : warning C4005: '_UNICODE' : macro redefinition
command-line arguments : see previous definition of '_UNICODE'
c:\program files\microsoft sdks\windows\v7.0\include\sal_supp.h(57) : warning C4005: '__useHeader' : macro redefinition
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\sal.h(2886) : see previous definition of '__useHeader'
c:\program files\microsoft sdks\windows\v7.0\include\specstrings_supp.h(77) : warning C4005: '__on_failure' : macro redefinition
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\sal.h(2896) : see previous definition of '__on_failure'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(74) : error C2061: syntax error : identifier '_com_error'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(74) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(84) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(84) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(85) : error C2061: syntax error : identifier '_variant_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(85) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(93) : error C2061: syntax error : identifier '_com_util'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(93) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(93) : error C2449: found '{' at file scope (missing function header?)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(120) : error C2059: syntax error : '}'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(144) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(144) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(144) : error C2449: found '{' at file scope (missing function header?)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(285) : error C2059: syntax error : '}'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(302) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(302) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(302) : error C2059: syntax error : ':'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(310) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(310) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(310) : error C2059: syntax error : ':'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(320) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(320) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(320) : error C2059: syntax error : ':'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(331) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(331) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(331) : error C2059: syntax error : ':'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(341) : error C2061: syntax error : identifier '_bstr_t'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(341) : error C2059: syntax error : ';'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(341) : error C2059: syntax error : ':'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\comutil.h(354) : error C2061: syntax error : identifier '_bstr_t'
To copy to clipboard, switch view to plain text mode
When I uncomment the
Depends { name: "Qt"; submodules: ["quick", "qml", "concurrent", "axcontainer"] }
Depends { name: "Qt"; submodules: ["quick", "qml", "concurrent", "axcontainer"] }
To copy to clipboard, switch view to plain text mode
line it make an error : Error: Module Qt/quick could not be loaded. etc..
All in all a very confusing step to convert old running porper projects to qbs.
Any advice???
Bookmarks