2013-01-03 5 views
6

Nach ich VS2012 mein Qt Projekt Compiler nicht mehr installiert haben (haben VS2010 und VS2012 auf meinem Computer). Nachricht: LNK1123: failure during conversion to COFF: file invalid or corrupt. Vorher war es nur mit VS2010 in Ordnung.Qt: Nach der Installation von VS2012 LNK1123 Fehler während der Konvertierung in COFF

Für die VS2012-Umgebung es empfohlen (siehe SO here):

  1. Compile mit Enable Incremental Linking NO
  2. Uninstall .net 4,5

Da ich nicht Qt mit VS2012 in Kombination bin mit (also kein plugIn), kann ich nicht setup the project as mentioned. Noch kann ich .net 4.5 (benötigt für ein anderes Projekt) deinstallieren.

Gibt es eine Chance, das Problem zu lösen? Einige verwandte Fragen, die ich habe

  1. Wäre es eine Lösung, gegen VS2012 C++ Compiler zu kompilieren? Here it says Ich würde dafür eine eigene Kompilation von Qt 5 brauchen - ich möchte so ein Ärger vermeiden
  2. Muss ich Qt aktualisieren?
  3. Oder gibt es eine Möglichkeit, einfach Incremental Linking to off als in einem VS-Projekt zu setzen? Wo in den Build-Einstellungen (Screenshot unten) müsste ich es einstellen?

Win 7 mal 86 QtCreator 2.5.2 Qt 4.8.1 VS2012 Ultimative mit Update 1, noch VS2010

installiert

Project compile settings

- Bearbeiten ---

I Die Pfade sind immer noch auf VS2010 und es ist kein .net 4.5 Pfad enthalten.

Paths

- Edit 2 - Stand Kommentar des HP

Wenigstens habe ich mit meiner Anti-Virus Software off versucht. Gleicher Fehler. Außerdem habe ich einige andere kleinere Qt-Projekte überprüft (ich bin ein sporadischer Qt-Coder, daher habe ich nicht genügend Erfahrung in diesem Bereich). Sie kompilieren. Auch alle meine Unterprojekte im betroffenen Qt-Projekt kompilieren, nur der letzte Teil (GUI, der alle Unterprojekte verwendet) scheitert mit dem obigen Fehler.

- Ein Schritt weiter -

In meiner .pro Datei ich die folgenden Zeilen bin mit einem DEFINEwith the hg version, mit diesem für Alter zu erhalten.

VERSION = $$system(P:/Tools/TortoiseHg/hg parents --template '{latesttag}+{latesttagdistance}') 
--- $$system line seems to be the line causing the COFF issue, WHY??? 
DEFINES += VERSION=\\\"$$VERSION\\\" 

Ich nahm das heraus, war in der Lage, ohne den COFF-Fehler neu zu kompilieren. Aber die Anwendung stürzte aufgrund einiger gemischter 4.8.0/4.8.1-Bibliotheken ab. Dann ging ich durch alle Unterprojekte und fand doppelte Build-Konfigurationen. Manchmal hatte ich zweimal die gleichen Einträge, manchmal fehlte es. Korrigiert sie, App läuft jetzt (immer noch ohne das Versions-Tag).

Build configs

Auf den hg Kommentar über CMD, OK zu sein scheint.

>P:/Tools/TortoiseHg/hg parents --template '{latesttag}+{latesttagdistance}' 
'0.8.902+1' 

Warum führt dies zu dem COFF Fehler, und warum die verwirrten Konfigurationen?. Ich denke, ich werde zu alt für diesen Mist.

+1

Es gibt ein paar Feedback Artikel darüber auf connect.microsoft.com. Aber bisher ohne Microsoft in der Lage, es zu reproduzieren. Sie könnten Ihre eigenen Posts veröffentlichen, auch wenn dies angesichts der ungewöhnlichen Build-Umgebung auch stark in Richtung No-Repro abwandern würde. Hohe Chancen für Umweltprobleme, zuerst Anti-Malware. Oder einfach nur was es sagt, eine beschädigte .obj oder .lib Datei. –

+3

Das hat mir geholfen http://StackOverflow.com/a/14144713/78043 –

+0

Vielen Dank für das Zeigen mich dort! –

Antwort

3

Alle Credits zu ba__friend für den Hinweis. Der Grund ist das falsche cvtres.exe wie beschrieben here .Disable das alte und alles ist in Ordnung (zumindest in meinem speziellen Fall).

1

Ich hatte dieses Problem, in meinem Fall war der Grund für die Installation von Visual Studio 2012 auf einer Maschine, die bereits Visual Studio 2010 hatte. Ich konnte auch nicht C++ - Projekte in beiden Visual Studios (gleicher Fehler) ausführen. Es gibt drei Lösungen:

  1. Temporäre Lösung: Einsatz Veröffentlichung mod statt Debug, Anwendung läuft, aber kein Debugging zur Verfügung steht.
  2. Herunterladen und Installieren von Qt MinGW statt VS-Version (zweimal in der Größe)
  3. installieren (empfohlen)/Neu installieren SP1 von Visual Studio 2010.

Haben Sie einen schönen Codierung!

Verwandte Themen