Tôi đang cố gắng biên dịch cùng một tệp C trên hai máy khác nhau với các phiên bản khác nhau của cc.tuyên bố tĩnh sau khai báo không tĩnh
gcc phiên bản 3.2.3 nói warning: 'foo' was declared implicitly 'extern' and later 'static'
gcc phiên bản 4.1.2 nói error: static declaration of 'foo' follows non-static declaration
AFAICT, cả hai đều có CFLAGS cùng. Tôi muốn làm cho gcc 4.1.2 hoạt động như gcc 3.2.3, nghĩa là tìm một tùy chọn có thể biến lỗi này thành một cảnh báo đơn giản.
Thực tế mã không thử nghiệm hàm, vì vậy gcc giả định một khai báo ngầm tiềm ẩn. Câu trả lời đúng là không có tùy chọn để tắt lỗi này. – Alsciende
Bạn có thể biến các khai báo ngầm thành các lỗi với '-Werror-implicit-function-declare' (dưới gcc 3.4, anyway; không chắc chắn về các phiên bản sau này). – detly
Tôi đã làm, nhưng lỗi vẫn còn sống! pastebin.com/2mpnyMPj –