[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