У меня есть проект C++.
На диске он представлен в виде нескольких каталогов, внутри которых *.h и *.cpp
Я положил конфиг в корневой каталог проекта и вызвал doxygen, но он сгенерил пустые документы.
Если положить конфиг в каждый каталог отдельно и запустить doxygen там, то он генерит нормальный документ, но только на данную часть проекта.
А хотелось бы, чтобы он собрал информацию из всех каталогов проекта в одну доку.
И ещё вопрос:
если в качестве языка doxygen'у указать Russian, то он генерит доку на русском языке, но в кодировке koi8-r, а у меня проект - в utf8.
Это как-то можно вылечить?
Спасибо.
Как заставить doxygen лазить в папки?
Модератор: Модераторы разделов
-
sergio
- Сообщения: 436
- Статус: Интересующийся новичок
- ОС: Debian GNU/Linux 4 & 5
Re: Как заставить doxygen лазить в папки?
Так пошел сыскал старый пробный файл, вижу в нем такой кусок:
Код: Выделить всё
$ cat Doxyfile | grep -i -C 2 input
WARN_LOGFILE = doxygen.log
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ./include/ ./src/
FILE_PATTERNS = *.h *.hpp *.c *.cpp *.tcpp *.txt
RECURSIVE = YESПоставил эту хрень, запустил, она выдала кучу ругани что и депрекатед там у меня в конфиге древнем, и не нашла чего-то, но доки с двух папок сгенерила. Так что генерите шаблон конфига, и читайте доки дальше.
И ещё вопрос:
если в качестве языка doxygen'у указать Russian, то он генерит доку на русском языке, но в кодировке koi8-r, а у меня проект - в utf8.
Это как-то можно вылечить?
Тут я пас. На крайняк можно перекодировать.
UPD: А, в смысле, что шапки-подвалы к файлам подставляет в коях, а комментарии вырезает в ютф8?
Гм, думаю, проще всего запустить доксиген в С или английской локали... Я так с wget поступал, когда он индексы с виндозных фтп стаскивал и пытался их писать на диск пришивая ютфовые хедеры-футеры к виндозным именам файлов.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
-
KonishchevDmitry
- Сообщения: 92
- ОС: Ubuntu
Re: Как заставить doxygen лазить в папки?
Да, как заметил sergio, сканировать подкаталоги можно - стоит только указать каталоги, в которых лежат исходные тексты.
Насчет кодировки - я глубоко не копал по этому вопросу, но если я правильно понял, doxygen работает только с двумя кодировками - koi8-r и cp1251. Поэтому я не долго думая написал bash скрипт, который сначала копирует все исходники в /tmp, перегоняет их из utf8 в cp1251 и строит на их основе документацию. Вполне себе рабочий вариант.
PS: если вы вдруг не знаете - существует графический настройщик - doxywizard. Создавать конфиг с его помощью в разы удобнее.
Насчет кодировки - я глубоко не копал по этому вопросу, но если я правильно понял, doxygen работает только с двумя кодировками - koi8-r и cp1251. Поэтому я не долго думая написал bash скрипт, который сначала копирует все исходники в /tmp, перегоняет их из utf8 в cp1251 и строит на их основе документацию. Вполне себе рабочий вариант.
PS: если вы вдруг не знаете - существует графический настройщик - doxywizard. Создавать конфиг с его помощью в разы удобнее.
-
sergio
- Сообщения: 436
- Статус: Интересующийся новичок
- ОС: Debian GNU/Linux 4 & 5
Re: Как заставить doxygen лазить в папки?
Мда, я попробовал - ключевым является параметр RECURSIVE. Если он в YES, то можно верхнюю папку указать ".", и он поддиректории прошел. Но скорее вам нужет список нужных поддиректорий и рекурсия - на случай если там еще подкаталоги будут...
Нащет русского - видимо никак. Посмотрел, чево пакет ставит - ничего считай и не ставит, кроме себя любимого, ни в локали ни в другие share. Так что только правкой исходников и пересборкой, видимо. =)
Нащет русского - видимо никак. Посмотрел, чево пакет ставит - ничего считай и не ставит, кроме себя любимого, ни в локали ни в другие share. Так что только правкой исходников и пересборкой, видимо. =)
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
-
Zeus
- Сообщения: 694
Re: Как заставить doxygen лазить в папки?
Спасибо. RECURSIVE = YES помогло.
А насчёт перекодировки - была такая мысль: перегонять исходники в koi8-r и потом скармливать их doxygen'у, но я решил, что не стоит овчинка выделки - будет у меня "английская" документация
P.S. А doxywizard'а у меня нету
А насчёт перекодировки - была такая мысль: перегонять исходники в koi8-r и потом скармливать их doxygen'у, но я решил, что не стоит овчинка выделки - будет у меня "английская" документация
P.S. А doxywizard'а у меня нету
-
sergio
- Сообщения: 436
- Статус: Интересующийся новичок
- ОС: Debian GNU/Linux 4 & 5
Re: Как заставить doxygen лазить в папки?
У меня в aptitude маячило пакет doxygen-gui
Наверное оно, не проверял.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
-
Zeus
- Сообщения: 694
Re: Как заставить doxygen лазить в папки?
Да и фиг с ним.
Заработало - и ладно.
Не хватало ещё отдельно изучать doxygen.
Не мы для doxygen'а, а doxygen - для нас!
Заработало - и ладно.
Не хватало ещё отдельно изучать doxygen.
Не мы для doxygen'а, а doxygen - для нас!