Использую QtCreator 2.5 Qt 4.8.4 MSVC2010. Собственно самфреймворк не использую. Написал статическую библиотеку под Linux. Для сборки стал сооружать такой скрипт:
#-------------------------------------------------
#
# Project created by QtCreator 2013-03-26T09:45:05
#
#-------------------------------------------------
QT -= core gui
MODULE_NAME=Util
TEMPLATE = lib
CONFIG += staticlib
SOURCES += \
QueueGlasssCash.cpp \
GravityPhase.cpp
HEADERS += \
type.h \
QueueGlassCash.h \
GravityPhase.h \
Factory.h
BASE_PATH=$${PWD}/..
BUILD_TYPE=release
RM=
MKDIR=
win32{
QMAKE_CXXFLAGS += -std=c++0x
RM=rmdir /q/s
MKDIR=md
}
else:unix{
RM_CMD=rm -f
MKDIR=mkdir -p
}
CONFIG(debug, debug|release) {
SUFIX=d
BUILD_TYPE=debug
}
OBJ_DIR=$$BASE_PATH/obj/$${BUILD_TYPE}/$${MODULE_NAME}
DEST_DIR=$${BASE_PATH}/lib
system($$MKDIR $$OBJ_DIR)
system($$MKDIR $$DEST_DIR)
DESTDIR = $${DEST_DIR}
OBJECTS_DIR = $${OBJ_DIR}
TARGET=$${MODULE_NAME}$${SUFIX}
#не удаляет при clean
QMAKE_CLEAN+= -r $${DEST_DIR}/lib$${TARGET}.a
#INSTALLS += target
Поколдовал со скриптами заработало, но с консоли все равно три вызова... Но в креаторе работает корректно...
BASE_PATH=$${PWD}/..
win32{
QMAKE_CLEAN+= -r $${DESTDIR}/$${TARGET}.lib
}
else:unix{
QMAKE_CXXFLAGS += -std=c++0x
QMAKE_CLEAN+= -r $${DESTDIR}/lib$${TARGET}.a
}
BUILD_TYPE=release
CONFIG(debug, debug|release) {
SUFIX=d
BUILD_TYPE=debug
}
DESTDIR = $$BASE_PATH/lib
OBJECTS_DIR = $$BASE_PATH/obj/$${MODULE_NAME}/$${BUILD_TYPE}
TARGET=$${MODULE_NAME}$${SUFIX}
А попробуйте qbs, очень даже ничего инструмент.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)