Tôi hiểu rằng CFLAGS (hoặc CXXFLAGS cho C ++) dành cho trình biên dịch, trong khi CPPFLAGS được sử dụng bởi trình tiền xử lý.
Nhưng tôi vẫn không hiểu sự khác biệt.
Tôi cần chỉ định đường dẫn bao gồm cho tệp tiêu đề được bao gồm với #include - bởi vì #include là chỉ thị tiền xử lý, bộ tiền xử lý (CPPFLAGS) có phải là điều duy nhất tôi quan tâm không?
Trong những trường hợp nào tôi cần cung cấp cho trình biên dịch thêm một đường dẫn bao gồm?
Nói chung, nếu bộ tiền xử lý tìm thấy và bao gồm các tệp tiêu đề cần thiết, tại sao nó cần được thông báo về các thư mục bao gồm bổ sung? CFLAGS có công dụng gì?
(Trong trường hợp của tôi, tôi thực sự thấy rằng CẢ HAI trong số này cho phép tôi biên dịch chương trình của mình, điều này làm tăng thêm sự nhầm lẫn ... Tôi có thể sử dụng CFLAGS HOẶC CPPFLAGS để hoàn thành mục tiêu của mình (ít nhất là trong ngữ cảnh autoconf. Điều gì mang lại?)