Tôi cố gắng để biên dịch chương trình sau đây:Mục đích của Cảnh báo enable-auto-nhập khẩu
#include <iostream>
int main(){
std::cout << "Hello, world!";
return 0;
}
Khi tôi biên dịch nó, tôi nhận được tin nhắn này:
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.
Việc xây dựng thành công và thực thi chạy như mong đợi, nhưng cảnh báo này vẫn làm tôi khó chịu. Tôi hy vọng một công trình thành công sẽ hoàn toàn im lặng. Thông báo này cung cấp cho ấn tượng sai rằng có điều gì đó sai với mã của tôi.
Tôi có thể tắt tiếng lỗi này với g++ -Xlinker --enable-auto-import test.cpp
, nhưng điều này là không mong muốn vì nó tăng gấp ba số ký tự tôi cần nhập để biên dịch chương trình.
Câu hỏi:
- Tại sao cảnh báo này xuất hiện cho đơn giản nhất của chương trình? tôi không mong đợi những cảnh báo khó hiểu khi tôi biên dịch Hello World.
- Có thể tắt tiếng cảnh báo này mà không chuyển cờ cho người liên kết mỗi lần không? Một tùy chọn trong tệp cấu hình ẩn ở đâu đó trong
c:\mingw
, có lẽ? Hoặc có thể tôi đã bỏ lỡ hộp kiểm "tự động bật tự động nhập" trong khi cài đặt?
Specs Có thể liên quan
- GCC Version 4.5.0
- ld.exe Version 2.20.51.20100613
- Windows XP Service Pack 3
sử dụng một Makefile. –