2010-10-21 24 views
6

Vì vậy, tôi mới sử dụng Doxygen và tôi đã có thể làm cho nó hoạt động trơn tru. Tôi đã có thể ghi lại các lớp và cấu trúc của mình và nó tạo ra các tệp HTML một cách hoàn hảo. Vấn đề tôi đang gặp phải là nó sẽ không phân tích cú pháp tệp main.cpp của tôi. Tất cả các lớp và cấu trúc đều có các tệp .h và .cpp riêng và chúng xử lý tốt. Làm thế nào để tôi có được Doxygen để tạo tài liệu cho main.cpp? Nó không có tệp .h vì đây là nơi chương trình bắt đầu và kết thúc. Tôi thậm chí không biết phải đặt cái gì vào tập tin .h cho chính. Tôi đang sử dụng Doxywizard trong Windows.Doxygen sẽ không xử lý main.cpp

Edit:

tôi đặt điều này trong chính và nó tạo ra một trang chính:

/** 
@mainpage 

This is a test application. 

@author Alex 
@date 10/21/2010 
@version 1.0 
*/ 

Nhưng sau đó xa hơn xuống tập tin mà các nguyên mẫu hàm là tôi có điều này và nó không được phân tích cú pháp :

/** 
@brief Error handler for the PDF writer. 

It does nothing. It just has to exist. 
*/ 
void error_handler (HPDF_STATUS error_no, 
        HPDF_STATUS detail_no, 
        void   *user_data) 
{ 
} 
+0

Thậm chí chính có cần tài liệu không? Thông thường, nó chỉ cần thiết lập một vài thứ, có thể gọi hàm phân tích cú pháp dòng lệnh args, và sau đó gọi một số hàm. – delnan

+0

Nó có thể liên quan đến một mặt nạ bạn có trong tập tin cấu hình Doxygen của bạn. Bạn có thể đăng nội dung của các giá trị cấu hình 'INPUT' và' FILE_PATTERNS' của mình không? – ladenedge

+0

Cả hai 'INPUT' và' FILE PATTERNS' đều trống. Về cơ bản tôi đã cài đặt chương trình, tìm thấy dự án của tôi và nhấn "Chạy". Tôi cho rằng chính không cần phải được nhận xét, nhưng có các chức năng khác trong cùng một tệp được sử dụng và cần được nhận xét. – alex

Trả lời

6

Tôi đặt nó ở đầu main.cpp và nó hoạt động. Đi con số.

/** 
@file main.cpp 
*/ 
+0

Bạn, thưa bạn, vừa mới cứu tôi thêm vài giờ tìm kiếm. Cảm ơn nhiều. Bạn có bất kỳ ý tưởng tại sao nó CẦN một lệnh @file? – SolarBear

+1

Không bao giờ, hãy xem câu trả lời của tôi bên dưới. – SolarBear

+0

Bạn không cần "main.cpp". @file là đủ. Bạn cần điều đó bởi vì bạn không có bất kỳ lớp hoặc cấu trúc nào được ghi lại trong tệp đó. –

2

Nếu INPUTFILE_PATTERNS là trống rỗng, nó sẽ tìm kiếm các tập tin * .cpp (và nhiều mẫu khác) trong thư mục hiện hành. (Điều này từ Doxygen manual.)

Kể từ khi bạn đang trống rỗng, tôi mong đợi một trong hai điều đang xảy ra nếu bạn không nhận được tài liệu main.cpp:

  1. main.cpp không có trong hiện tại danh mục. Để loại trừ điều này, hãy đảm bảo rằng bạn đang chạy Doxygen từ cùng một thư mục với tên cả hai tệp cấu hình và tệp main.cpp của bạn.
  2. Có lỗi cú pháp trong tài liệu main.cpp của bạn. Đây có thể là khó khăn để phát hiện, như Doxygen thường không hủy bỏ khi nó gặp một lỗi - thay vào đó nó chỉ bỏ qua phía trước. Nếu đây là vấn đề, hãy chải kỹ thông qua đầu ra của Doxygen khi bạn tạo dòng tài liệu của bạn theo dòng.

Nếu không có ý tưởng nào trong số này giải quyết được vấn đề của bạn, chúng tôi có thể cần thêm thông tin. Đầu ra của ls -R, đầu ra của Doxygen chạy, vv Chúc may mắn!

+0

chính.cpp nằm trong thư mục mà Doxygen đang tìm kiếm và nó không hiển thị bất kỳ lỗi nào trong đầu ra, chỉ là cảnh báo từ các lớp khác vẫn đang xử lý chính xác. Tôi đã thêm một số thông tin vào câu hỏi của tôi ở trên. – alex

1

tôi đã làm một số nghiên cứu về vấn đề này ... Từ doxygen manual:

Chú ý: Các tài liệu của các chức năng toàn cầu, các biến, typedefs, và enums sẽ chỉ được đưa vào đầu ra nếu tệp họ đang ở là cũng được ghi lại.

Có bạn!