Sto cercando di compilare il seguente programma:Scopo del --enable-auto-import Attenzione
#include <iostream>
int main(){
std::cout << "Hello, world!";
return 0;
}
Quando compilo esso, ottengo questo messaggio:
C:\programs>g++ test.cpp
Info: resolving std::cout by linking to __imp___ZSt4cout (auto-import)
c:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/bin/ld.exe: warning: a
uto-importing has been activated without --enable-auto-import specified on the c
ommand line.
This should work unless it involves constant data structures referencing symbols
from auto-imported DLLs.
La build riesce e l'eseguibile funziona come previsto, ma questo avviso mi irrita ancora. Mi aspetto che una build di successo sia completamente silenziosa. Questo messaggio dà la falsa impressione che c'è qualcosa di sbagliato nel mio codice.
Posso disattivare questo errore con g++ -Xlinker --enable-auto-import test.cpp
, ma questo non è consigliabile, in quanto triplica il numero di caratteri che devo digitare per compilare un programma.
Domande:
- Perché appare questo avvertimento per il più semplice dei programmi? Non mi aspetto avvertimenti criptici quando compilo Hello World.
- È possibile disattivare questo avviso senza passare la flag al linker ogni volta? Un'opzione in un file di configurazione nascosto da qualche parte in
c:\mingw
, forse? O forse ho perso una casella di controllo "abilita automaticamente l'importazione automatica" durante l'installazione?
Spec Forse rilevanti
- GCC versione 4.5.0
- ld.exe Versione 2.20.51.20100613
- Windows XP Service Pack 3
utilizzare un Makefile. –