2012-10-11 32 views
6

Sau khi đọc:Tự động trích xuất đường dẫn -Tôi gcc cho mã nguồn lập chỉ mục trong Emacs

Tôi biết rằng khi tạo một thư mục dự án với một hiện thực hiện tập tin và nguồn mã, tôi có thể có semantic lập chỉ mục các tệp theo một trong hai cách:

  1. xác định một dự án EDE đơn giản với:

    (ede-cpp-root-project ... :system-include-path '("~/exp/include/boost_1_37")

  2. hoặc bằng cách xác định bao gồm đường dẫn đến Semantic trực tiếp với

    (semantic-add-system-include "~/exp/include/boost_1_37" 'c++-mode)

Nhưng điều này vẫn đòi hỏi tôi phải gõ đường dẫn theo cách thủ công. Có cách nào để tự động trích xuất đường dẫn include cho ngữ nghĩa từ một tệp hiện có hiện tại làm?

Bối cảnh: Một số IDE có một chức năng để autodiscover gcc -I đường dẫn từ một tập tin thực hiện. Ví dụ, trong Eclipse, bạn có thể tạo một dự án trên một đường dẫn với một tệp thực hiện và mã nguồn, và Eclipse sẽ suy ra các đường dẫn bao gồm cho "intellisense" của nó khi xây dựng dự án (tôi giả sử Eclipse phân tích cú pháp đầu ra của GNU làm cái này). Tôi muốn làm tương tự trong Emacs.

Trả lời

1

Câu trả lời là "có": Có cách để khám phá đường dẫn này. AFAIK mã cho nó chưa được viết (tho tôi có thể bị nhầm lẫn với điều này). Tất cả những gì bạn cần làm là chạy make -n và tìm "-I" ở đầu ra. Tất nhiên, ma quỷ là trong các chi tiết, nhưng nó sẽ có thể viết một bằng chứng của khái niệm khá dễ dàng.

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