-
Bug
-
Resolution: Done
-
P2: Important
-
5.2.0
-
None
-
Windows 7, Qt5.2.0 VS2012 32bit.
-
71454fbb13f22d17aba6f8b356061ea6f81aea0b
Crash when running lrelease with following pro file. The change https://codereview.qt-project.org/62634 has caused the crash (task QTBUG-8550).
################################################################################
# makeTargetName( TARGET_NAME )
#
# Parameter:
# TARGET_NAME: Der urspruengliche Target-Name
#
# Rueckgabe:
# Liefert den endgueltigen Namen
#
# Beispiel:
# TARGET = $$makeTargetName($${TARGET})
################################################################################
defineReplace(makeTargetName){
targetname = $${1}
# d fuer Debug anhaengen
contains( TEMPLATE, vclib ) | contains( TEMPLATE, vcapp ) {
# VS-Projekt
if(!debug_and_release|build_pass):CONFIG(debug, debug|release){
targetname=$$join(targetname,,,d)
}
} else {
# QtCreator Projekt
CONFIG(debug, debug|release){
targetname=$$join(targetname,,,d)
}
}
# Ergebnis zurueckgeben
return($${targetname})
}
################################################################################
# makeDependLibNames( LIB_NAMES, Extension )
#
# Parameter:
# LIB_NAMES: Der urspruengliche Inhalt von LIBS
# Extension: Die Extension der libs mit .
#
# Rueckgabe:
# Alle Eintraege konvertiert mit Version und Debug
#
# Beispiel:
# LIBS = $$makeDependLibNames($${LIBS}, .lib)
#
################################################################################
defineReplace(makeDependLibNames){
libs = $${LIBS}
ext = .lib
newlibs = ""
libpath = "./../../bin"
# Alle Eintraege durchgehen
for(lib,libs){
# Extension suchen
found = $$find(lib,$${ext})
# Extension war enthalten?
!isEmpty(found){
# Extension loeschen
found = $$replace(found,$${ext},"")
# Richtigen Namen zusammenbauen
found = $$makeTargetName($${found})
# fuer GNU
win32-g++ {
# Extension wieder anhaengen
found = $$join(found,,lib,.a)
}
# fuer Windows
win32-msvc* {
# Extension wieder anhaengen
found = $$join(found,,,.lib)
}
# Konvertierten String anhaengen
foundlib = $${libpath}/$${found}
foundlib = $$replace( foundlib, -L, )
newlibs += $${foundlib}
} else {
libpath = $${lib}
}
}
# Gesamtstring zurueckgeben
return($${newlibs})
}
TEMPLATE = app
TARGET = unittest
# Bibliotheken
LIBS += Base.lib
LIBS += Help.lib
LIBS += Connection.lib
LIBS += HardwareInfo.lib
LIBS += Settings.lib
LIBS += Parameter.lib
LIBS += PCBConfig.lib
# Translation file(s)
#TRANSLATIONS = UnitTests_ENG.ts
PRE_TARGETDEPS += $$makeDependLibNames()
Note that if you reduce the amount of LIBS then the crash does not happen. Tested with Qt5.2.0, VS2012, 32bit. After removing change dd4d594c787a62fa8aa12695c5d115c71b59bacd from Qt5.2.0, crash did not happen.
gdb resulted only:
"terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc"
- resulted from
-
QTBUG-8550 lupdate don't evaluate FOR in pro file
-
- Closed
-