Zweck --enable-auto-import Warnung

8

Ich versuche das folgende Programm zu kompilieren:

%Vor%

Wenn ich es kompiliere, bekomme ich diese Nachricht:

%Vor%

Der Build ist erfolgreich und die ausführbare Datei läuft wie erwartet, aber diese Warnung irritiert mich immer noch. Ich erwarte, dass ein erfolgreicher Build vollkommen still ist. Diese Nachricht vermittelt den falschen Eindruck, dass mit meinem Code etwas nicht stimmt.

Ich kann diesen Fehler mit g++ -Xlinker --enable-auto-import test.cpp zum Schweigen bringen, aber das ist nicht wünschenswert, da es die Anzahl der Zeichen verdreifacht, die ich zum Kompilieren eines Programms eingeben muss.

Fragen:

  • Warum erscheint diese Warnung für die einfachsten Programme? Ich erwarte keine kryptischen Warnungen, wenn ich Hello World kompiliere.
  • Ist es möglich, diese Warnung zum Schweigen zu bringen, ohne jedes Mal die Flagge an den Linker zu übergeben? Eine Option in einer Konfigurationsdatei, die irgendwo in c:\mingw versteckt ist, vielleicht? Oder habe ich während der Installation das Kontrollkästchen "Auto-Import automatisch aktivieren" verpasst?

Möglicherweise relevante Spezifikationen

  • GCC Version 4.5.0
  • ld.exe Version 2.20.51.20100613
  • Windows XP Service Pack 3
Kevin 12.10.2011, 15:15
quelle

2 Antworten

4

Ich habe etwas gelesen und es sieht so aus, als ob es mit der mingw32-DLL in Verbindung steht, die keine dllimport-Attribute definiert hat.

Vielleicht gibt es einen Patch oder Sie können mingw32 selbst neu erstellen und hinzufügen?

    
Poodlehat 12.10.2011, 15:32
quelle
6

Früher war ich mit demselben Problem konfrontiert wie mit g++ . Ich habe gerade dieses lästige Problem gelöst. So komme ich Schritt für Schritt zur Lösung:

Unter Windows können Sie mit allen angegebenen Optionen, die Sie mit g++ verwenden möchten, einen Alias ​​von g++ erstellen. Angenommen, Sie möchten beispielsweise einen Alias s++ von g++ -enable-auto-import erstellen, dann führen Sie diesen auf cmd als:

aus %Vor%

Dies erzeugt einen Alias ​​namens s++ . Aber dieser Alias ​​wird kein Befehlszeilenargument verwenden, was bedeutet, dass Sie dies nicht schreiben können:

%Vor%

Damit es funktioniert, wenn Sie dem Alias ​​sagen müssen, dass er Befehlszeilenargumente akzeptiert, während er sie erstellt, sollten Sie Folgendes tun:

%Vor%

Bitte beachten Sie die $* auf der rechten Seite, was bedeutet, dass s++ nun das Kommandozeilenargument übernehmen kann:

%Vor%

Sie möchten es jedoch nicht bevorzugen, den Alias ​​jedes Mal zu erstellen, wenn Sie cmd öffnen. In diesem Fall können Sie eine Verknüpfung von cmd erstellen.

Ich habe zum Beispiel eine Verknüpfung namens Console erstellt und im Textfeld Target des Kontextfensters habe ich folgendes geschrieben:

%Vor%

Und da dies zu lang ist (horizontal), konnte ein Screenshot den gesamten Befehl nicht erfassen. Ich habe zwei Screenshots gemacht, damit du selbst sehen kannst, wie ich es gemacht habe:

  • Linker Teil des Befehls

  • Rechter Teil des Befehls

Weitere Informationen zum Erstellen von Aliasen in Fenstern finden Sie hier:

Nawaz 12.10.2011 16:23
quelle

Tags und Links