Назначение --enable-auto-import Warning

Я пытаюсь скомпилировать следующую программу:

#include <iostream>
int main(){
    std::cout << "Hello, world!";
    return 0;
}

Когда я компилирую ее, я получаю следующее сообщение:

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.

Сборка проходит успешно, и исполняемый файл запускается, как ожидалось, но это предупреждение все еще раздражает меня. Я ожидаю, что успешная сборка будет полностью беззвучной. Это сообщение создает ложное впечатление, что с моим кодом что-то не так.

Я могу заглушить эту ошибку с помощью g++ -Xlinker --enable-auto-import test.cpp, но это нежелательно, так как это втрое увеличивает количество символов, которые мне нужно набрать для компиляции программы.

Вопросы:

  • Почему это предупреждение появляется для самых простых программ? Я не ожидаю загадочных предупреждений при компиляции Hello World.
  • Можно ли заглушить это предупреждение, не передавая флаг компоновщику каждый раз? Может быть, опция в конфигурационном файле, спрятанном где-то в c:\mingw? Или, может быть, я пропустил флажок "автоматически включить автоимпорт" во время установки?

Возможно, релевантные спецификации

  • GCC версии 4.5.0
  • ld.exe версии 2.20.51.2010613
  • Windows XP Service Pack 3
8
задан Kevin 12 October 2011 в 15:15
поделиться