2012-08-28 20 views
6

thời gian gần đây tôi nhận ra rằng tôi không phải là ngay cả trong chế độ C99 sau khi nhận được biên dịch lỗiCách truy cập chế độ C99 trong Codeblocks10.05?

'for' loop initial declarations are only allowed in C99 mode

Tôi tìm thấy một số lời khuyên về cách để có được C99 thông qua một tìm kiếm nhanh mà đã nói với tôi để đi đến Projects -> Properties... Nhưng than ôi, nó được chuyển sang màu xám và tôi không chắc chắn rằng đó là cách sửa chữa chính xác (có thể không có sẵn vì tệp của tôi không phải là một dự án, nó là một tệp nguồn bình thường). Tôi cũng đã nhìn thấy rất nhiều câu hỏi tương tự nói rằng để kích hoạt chế độ C99 vì vậy tôi đã nhìn bên trong trình đơn cờ trình biên dịch, nhưng tôi không thể nhìn thấy bất cứ điều gì về C99. Tôi đã thử một số cờ khác như Ở chế độ C, hỗ trợ tất cả các chương trình ISO C90 ..., nhưng sau khi tôi đặt cờ này, tôi nhận được nhiều lỗi hơn trước đây dường như xuất hiện bất cứ khi nào trình biên dịch tìm thấy nhận xét bên trong chính ().

Lưu ý: Vui lòng không chỉ nói để khởi tạo bộ đếm ngoài vòng lặp for.

Cập nhật: Trong khi cố gắng để biên dịch bên ngoài của CodeBlocks với gcc, tôi đã cố gắng gcc -O2 -std=C99 filename.c, nhưng không nhận được một lỗi:

unrecognized command line option "-std=C99"

tôi sử dụng 64-bit Windows 7, CodeBlocks10.05, và GNU gcc.

+1

Nếu bạn đi vào tab ** Tùy chọn khác **, bạn có thể thêm vào đúng '-std = c99' hoặc bất kỳ cờ nào. – chris

+0

có! biên dịch nó, cảm ơn bạn rất nhiều. Mặc dù tôi không chắc chắn lý do tại sao nó sẽ không hoạt động bằng cách sử dụng một thiết bị đầu cuối. cập nhật: nó xuất hiện tôi phải gõ vào một trường hợp thấp hơn 'c' cho điều này để làm việc. –

+2

Phân biệt chữ hoa chữ thường. – chris

Trả lời

10

Để tham khảo sau này, hãy nhập vào cờ -std=c99 trong settings->compiler->other options không phân biệt chữ hoa chữ thường, tuy nhiên khi biên dịch trong thiết bị đầu cuối, cờ sẽ phân biệt chữ hoa chữ thường. Cảm ơn chris!

Các vấn đề liên quan