Trong dự án của tôi có một tập tin đính kèm trong một chỉ thị ifdef PreprocessorXác định những biểu tượng tiền xử lý cho máy phân tích Clion
#ifdef SOME_SYMBOL
... entire file ...
#endif
SOME_SYMBOL được xác định bởi một tệp được biên soạn trước thế này, và mã công trình như mong đợi, nhưng tĩnh phân tích không nhận thức được biểu tượng này và do đó nó xử lý SOME_SYMBOL là không xác định. Toàn bộ tệp không làm nổi bật cú pháp và một số phân tích chỉ bị bỏ qua (ví dụ: đánh dấu lỗi cú pháp).
Có cách nào để yêu cầu trình phân tích xử lý biểu tượng này như được xác định mà không xác định nó trong CMakeLists.txt không?
Tôi không có tùy chọn xác định SOME_SYMBOL trong CMakeLists.txt vì dự án phụ thuộc vào nó không được xác định trong một số đường dẫn biên dịch (thay đổi điều này sẽ gần như không thể).
Cập nhật:
Dường như đây hiện là sự cố mở với JetBrains. Xem Issue CPP-2286
Có khả năng bạn cần tìm ngữ cảnh bao gồm phù hợp cho tệp. Nếu bạn có thanh trạng thái hiển thị, bạn có thể thấy danh sách thả xuống 'Bối cảnh:' ở góc dưới cùng bên phải. Chỉ cần thử một số. – uta