2015-12-01 15 views
5

bei dem Versuch, neue Klirren mit Visual Codegen in meinem Projekt (Visual Studio 2015 Update 1) zu verwenden, erhalte ich folgende Fehlermeldung:Visual Studio 2015 Update 1, Klirren Fehler

clang.exe : error : cannot specify -o when generating multiple output files 

Dies ist ein gerade neu erstelltes Projekt mit automatisch generiertem main.

Ich weiß wirklich nicht, was ich dagegen tun soll.

Jede Hilfe wird geschätzt.

+0

Nun, die '-o' Option gibt den Namen der Ausgabedatei an. Die Fehlermeldung zeigt an, dass clang denkt, dass es * mehrere * Ausgabedateien erzeugen muss; Warum das? – DevSolar

+0

@DevSolar Gott weiß nur, warum clang denkt, dass es mehrere Dateien ausgeben muss. – Artur

+0

Wie sieht die Befehlszeile aus? – DevSolar

Antwort

6

Es ist nicht klar, was Sie tun, aber es scheint offensichtlich, dass Sie keine der Clang-Projektvorlagen im Cross Platform-Knoten verwenden. Ich kann Ihr Problem reproduzieren, indem Sie die Win32> Win32-Projektvorlage verwenden und die Platform Toolset-Auswahl des Projekts in "Clang 3.7" ändern.

Das funktioniert nicht, es flunks vollständig die vorkompilierte Header-Funktion. Es ist irgendwie überzeugt, dass es stdafx.h kompilieren muss. Nicht nur einmal, es übergibt es den Compiler zweimal. Das macht Clang barf mit dieser Fehlermeldung, es wird nur jeweils eine Datei akzeptieren. Es weiß auch nicht, wie man Clangs PCH-Unterstützung ausnutzt, kein Hinweis auf die erforderliche -emit-PCH-Option.

Sie müssen weitermachen, indem Sie die Funktion ausschalten. Projekt> Eigenschaften> C/C++> Vorkompilierte Header> Vorkompilierter Header = "Nicht verwendet ...". Wählen Sie stdafx.cpp und wiederholen.

Das löst das Build-Problem, die endgültige ausführbare Datei etwas überraschend läuft ohne Problem. Es sollte etwas klar sein, dass Sie Clang in einem Szenario verwenden, das nie von Microsoft getestet wurde. Sieht so aus, als ob der IntelliSense-Parser viel mehr Arbeit benötigt. Afaik Clang unterstützt was intended Android und iOS, aktuelle Version ist Alpha-Qualität.

+0

Hallo, vielen Dank für Ihre Antwort. In der letzten Aktualisierung wurde Clong hinzugefügt, um nicht nur Android und iOS – Artur

+3

Hmya zu zielen, wenn sie nur das tatsächlich getestet haben. Befolgen Sie einfach die Problemumgehung, um dieses Problem zu lösen. –

+0

G-rea-t! Dank bro! Unglaublich, wie sie das zulassen (MS & VS). Un-frikkin'-glaubwürdig. – Artur

1

Nur als Ergänzung zu der akzeptierten Antwort, wenn dieses Problem auch nach der Einstellung Precompiled Header = "Not using..." weiterhin auftritt. Das andere Problem ist möglicherweise ein falscher Wert im Feld Object File Name.

Dieses Feld finden Sie unter: Projekt> Eigenschaften> C/C++> Allgemein> Object File Name = $(IntDir)%(filename).obj

Hinweis: ursprünglich entdecken hier, um diese Lösung: http://www.progtown.com/topic2009949-clang

Verwandte Themen