[Qt-creator] mixed debug and release build
Matthias Pospiech
matthias.pospiech at gmx.de
Mon May 25 13:15:24 CEST 2009
I have set build configuration to release, but I get a build which is
using debug and release libaries:
g++ -enable-stdcall-fixup -Wl,-enable-auto-import
-Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-subsystem,console -mthreads
-Wl -o bin\mingw\release\QLaserDynamic.exe
object_script.QLaserDynamic.Release
-L"c:\Programme\Qt\SDK\2009.02\qt\lib" -Llib/wwwidgets/mingw/debug
-lwwwidgets4d -Llib/qwt/mingw/debug -lqwtd5
-Llib/wwwidgets/mingw/release -lwwwidgets4 -Llib/qwt/mingw/release
-lqwt5 -lQtGui4 -lQtCore4
you can see that
wwwidgets4d and wwwidgets4
qwtd5 and qwt5
are linked, which is not ok.
this means that both release and debug qt dlls are required.
Here is the total .pro file. I would like to know if this is not ok for
using inside qtcreator or if this problem is qtcreator specific.
(Sorry, but email messes up the intendation)
#CONFIG += debug_and_release
#CONFIG += build_all
#CONFIG -= release
#CONFIG += debug
CONFIG += qt thread warn_on
CONFIG += console
TEMPLATE = app
# -------------------------------------------------
# Define Variables
# -------------------------------------------------
BINARY_NAME = QLaserDynamic
BUILD_DIR = build
BIN_DIR = bin
COMPILER = mingw
# -------------------------------------------------
win32 {
RELEASE_SUFFIX =
DEBUG_SUFFIX = d
}
CONFIG(debug, debug|release) {
SUFFIX_STR = $${DEBUG_SUFFIX}
}
else {
SUFFIX_STR = $${RELEASE_SUFFIX}
}
# -------------------------------------------------
# Target Directory
# -------------------------------------------------
debug:DESTDIR = $${BIN_DIR}/$${COMPILER}/debug/
release:DESTDIR = $${BIN_DIR}/$${COMPILER}/release/
# -------------------------------------------------
# Executable Filename
# -------------------------------------------------
TARGET = $${BINARY_NAME}$${SUFFIX_STR}
# -------------------------------------------------
# Prepocessor Definitions
# -------------------------------------------------
win32{
DEFINES += WIN32
DEFINES += _WINDOWS
DEFINES += QT
DEFINES += QT_DLL
DEFINES += QWT_DLL
DEFINES += wwwidgets
debug {
DEFINES += _DEBUG
}
release {
DEFINES += NDEBUG
DEFINES += QT_NO_DEBUG
}
}
DEFINES += NOMINMAX
DEFINES += QT_LARGEFILE_SUPPORT
DEFINES += QT_THREAD_SUPPORT
# -------------------------------------------------
# Objects Directory
# -------------------------------------------------
debug{
OBJECTS_DIR = $${BUILD_DIR}/$${BINARY_NAME}/debug/
}
release{
OBJECTS_DIR = $${BUILD_DIR}/$${BINARY_NAME}/release/
}
# -------------------------------------------------
# Moc Directory
# -------------------------------------------------
MOC_DIR = $${BUILD_DIR}/$${BINARY_NAME}/
# -------------------------------------------------
# Ui Directory
# -------------------------------------------------
UI_DIR = $${BUILD_DIR}/$${BINARY_NAME}/ui
# -------------------------------------------------
# Include directories
# -------------------------------------------------
INCLUDEPATH += src \
ui \
include \
include/eigen \
include/boost \
include/fftw \
include/qwt \
include/wwwidgets \
include/qextserialport \
include/matthias/qtwidgets \
include/matthias/SMX \
include/matthias/GPIB \
include/matthias/PI \
include/matthias/PiezoJena \
include/matthias/Math \
include/matthias/qwtplot \
include/matthias/Common \
# -------------------------------------------------
# Libaries
# -------------------------------------------------
unix{
}
# COMPILER_LIBARY_SUFFIX = .a
win32 {
debug{
# qtmaind.lib
# QtCored4.lib
# QtGuid4.lib
LIBS += -Llib/wwwidgets/$${COMPILER}/debug -lwwwidgets4d
LIBS += -Llib/qwt/$${COMPILER}/debug -lqwtd5
# LIBS += -Llib/qextserialport/debug -lqextserialport
}
release {
# qtmain.lib
# QtCore4.lib
# QtGui4.lib
LIBS += -Llib/wwwidgets/$${COMPILER}/release -lwwwidgets4
LIBS += -Llib/qwt/$${COMPILER}/release -lqwt5
# LIBS += -Llib/qextserialport/release -lqextserialport
}
# LIBS += -Llib/fftw/double -llibfftw3-3
# LIBS += -Llib/GPIB -lgpib-32.obj
# LIBS += -Llib/MMC -lMMC413
}
# -------------------------------------------------
# Sources
# -------------------------------------------------
FORMS += ui/mainwindow.ui \
ui/DialogLoadProject.ui \
ui/DialogSaveProject.ui \
ui/DialogSetCalcParameters.ui \
ui/DialogSetLaserParameters.ui
SOURCES += src/main.cpp \
src/MainWindow.cpp \
src/DialogLoadProject.cpp \
src/DialogSaveProject.cpp \
src/DialogSetCalcParameters.cpp \
src/DialogSetLaserParameters.cpp \
src/laser.cpp \
src/laserdynamics.cpp \
src/laserdynamicsbase.cpp \
src/saturableabsorber.cpp \
include/matthias/qtwidgets/QScienceSpinBox.cpp \
include/matthias/qwtplot/QCurvePlot.cpp
HEADERS += src/MainWindow.h \
src/DialogLoadProject.h \
src/DialogSaveProject.h \
src/DialogSetCalcParameters.h \
src/DialogSetLaserParameters.h \
src/laser.h \
src/laserdynamics.h \
src/laserdynamicsbase.h \
src/saturableabsorber.h \
include/matthias/qtwidgets/QScienceSpinBox.h \
include/matthias/qwtplot/QCurvePlot.h \
include/matthias/qwtplot/Zoomer.h \
include/matthias/Common/constants.h \
include/matthias/Common/mathext.h
More information about the Qt-creator-old
mailing list