- 
    
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
 
 -