일반 구성 변수
일반 QDoc 구성 변수를 사용하면 QDoc이 문서를 생성하는 데 필요한 다양한 소스 파일을 찾을 위치와 생성된 문서를 저장할 디렉터리를 정의할 수 있습니다. 또한 QDoc 자체를 약간 수정하여 출력 및 처리 동작을 제어할 수도 있습니다.
codeindent
codeindent 변수는 QDoc이 코드 스니펫을 작성할 때 사용하는 들여쓰기 수준을 지정합니다.
QDoc은 원래 코드 스니펫을 주변 텍스트와 쉽게 구별할 수 있도록 코드 들여쓰기에 4개의 공백이라는 고정된 값을 사용했습니다. 스타일시트를 사용하여 특정 유형의 HTML 요소의 모양을 조정할 수 있으므로, 이 정도의 들여쓰기가 항상 필요한 것은 아닙니다.
codelanguages
codelanguages 변수는 QDoc이 인식하지 못하는 소스 코드 언어 목록을 지정하며, 이 언어들은 \code... \endcode 블록 내에서 사용할 수 있습니다. 이를 통해 QDoc이 구문 분석할 수 없는 언어로 코드 블록을 작성할 수 있으며, 다른 도구에서 강조 표시하거나 처리할 수 있는 HTML을 생성할 수 있습니다.
codelanguages = Python Rust Java Swift "C#"QDoc은 C++(Cpp), QML 및 텍스트를 처리할 수 있으므로, 이러한 언어는 이 목록에 명시할 필요가 없습니다. C#과 같이 특수 문자가 포함된 언어 이름은 이 목록에 포함할 때 큰따옴표로 묶어야 합니다.
codelanguages 변수는 QDoc 6.11에서 도입되었으며, 이를 통해 온라인 Qt 문서가 highlight.js가 지원하는 언어 중 일부에 대해 구문 강조 기능을 사용할 수 있게 되었습니다.
참조 \code.
codeprefix, codesuffix
codeprefix 및 codesuffix 변수는 각 코드 스니펫을 감싸는 문자열 쌍을 지정합니다.
정의
defines 변수는 QDoc이 인식하고 반응할 C++ 전처리기 심볼을 지정합니다.
defines 변수를 사용하여 전처리기 심볼을 지정할 경우, \if 명령을 사용하여, 해당 전처리기 심볼이 정의된 경우에만 포함될 문서를 지정할 수 있습니다.
defines = QT_GUI_LIB이렇게 하면 QDoc이 해당 심볼이 정의되어야만 처리되는 코드를 확실히 처리하게 됩니다. 예를 들어:
#ifdef Q_GUI_LIB
void keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1)
#endif또한 -D 옵션을 사용하여 명령줄에서 전처리기 심볼을 수동으로 정의할 수도 있습니다. 예를 들어:
currentdirectory$ qdoc -Dqtforpython qtgui.qdocconf이 경우, QDoc이 qtgui.qdocconf 파일에 정의된 소스 파일을 처리할 때 -D 옵션을 통해 qtforpython 전처리기 심볼이 정의되도록 보장합니다.
‘falsehoods’ 및 \if.
의존성
depends 변수는 유형 상속을 위한 링크 대상 해결 및 문서가 링크해야 하는 기타 모든 항목을 위해 이 프로젝트가 의존하는 다른 문서 프로젝트 목록을 정의합니다.
Qt 자체와 마찬가지로, Qt에 대한 문서도 여러 모듈에 걸쳐 배포됩니다. 다중 모듈 문서 프로젝트에서 단일 모듈에 대한 최소 의존성 집합은 실제 빌드 의존성으로 구성됩니다. 또한, 전체 문서 세트의 최상위 진입점 역할을 하며 탐색 링크를 제공하는 문서 프로젝트(모듈)가 있는 경우, 각 모듈의 문서는 이를 의존성으로 포함해야 합니다.
QDoc이 프로젝트에 대한 문서를 생성할 때, 프로젝트 내의 각 링크 가능한 개체에 대한 URL이 포함된 ` .index ` 파일도 함께 생성합니다. 각 종속성은 프로젝트의 (소문자) 이름입니다. 이 이름은 해당 프로젝트에 대해 생성된 인덱스 파일의 기본 이름과 일치해야 합니다.
depends = \
qtdoc \
qtcore \
qtquick의존성이 있고 depends 변수를 사용하는 프로젝트에서 QDoc을 호출할 때는 하나 이상의 --indexdir 경로를 명령줄 옵션으로 전달해야 합니다. QDoc은 이러한 경로를 사용하여 의존성의 인덱스 파일을 검색합니다.
qdoc mydoc.qdocconf --outputdir $PWD/html --indexdir $QT_INSTALL_DOCS위와 같이 설정하면, QDoc은 qtdoc 에 대한 종속성의 $QT_INSTALL_DOCS/qtdoc/qtdoc.index 파일을 검색합니다. 종속성에 대한 인덱스 파일을 찾지 못하면 QDoc은 경고를 출력합니다.
depends 명령어는 '*'라는 특수 값도 허용합니다. 이는 QDoc이 지정된 인덱스 디렉터리에서 발견된 모든 인덱스 파일을 로드하도록 지시하는 것으로, 즉 "모든 것에 의존한다"는 의미입니다.
depends = *indexes, project, url 항목도 참조하십시오.
documentationinheaders
documentationinheaders = true 를 설정하면, C++ 기반 프로젝트의 문서를 생성할 때 QDoc이 헤더 파일 내의 문서 주석도 파싱하도록 지시할 수 있습니다.
경고: 대규모코드베이스에서는 이 설정이 QDoc의 처리 시간에 영향을 미칠 수 있습니다. 따라서 꼭 필요한 경우가 아니면 이 플래그를 설정하지 마십시오.
이 기능은 Qt 6.9부터 QDoc에 도입되었습니다.
exampledirs
exampledirs 변수는 예제 파일의 소스 코드가 포함된 디렉터리를 지정합니다.
examples 및 exampledirs 변수는 \quotefromfile, \quotefile 및 \example 명령어에서 사용됩니다. examples 변수와 exampledirs 변수가 모두 정의된 경우, QDoc은 두 디렉터리 모두를 검색하며, 먼저 examples를 검색한 다음 exampledirs를 검색합니다.
QDoc은 지정된 순서대로 디렉터리를 검색하며, 처음 발견된 일치하는 파일을 선택합니다. QDoc은 지정된 디렉터리 내에서만 검색하며, 하위 디렉터리는 검색하지 않습니다.
exampledirs = $QTDIR/doc/src \
$QTDIR/examples \
$QTDIR \
$QTDIR/qmake/examples
examples = $QTDIR/examples/widgets/analogclock/analogclock.cpp처리 시
\quotefromfile widgets/calculator/calculator.cppcalculator.cpp QDoc은 examples 변수에 ' exampledirs '이라는 이름의 파일이 값으로 지정되어 있는지 확인합니다. 만약 없다면, ' ' 변수 내에서 검색을 수행하며, 먼저
$QTDIR/doc/src/widgets/calculator/calculator.cpp그 파일이 없다면, QDoc은 다음과 같은 이름의 파일을 계속 찾아볼 것입니다.
$QTDIR/examples/widgets/calculator/calculator.cpp등의 순서로 계속 검색합니다.
예제도 참조하십시오.
예시
examples 변수를 사용하면 exampledirs 변수에 의해 지정된 디렉터리 내에 있는 파일들 외에도 개별 예제 파일을 지정할 수 있습니다.
examples 및 exampledirs 변수는 \quotefromfile, \quotefile 및 \example 명령어에서 사용됩니다. examples 와 exampledirs 변수가 모두 정의되어 있는 경우, QDoc은 두 변수 모두를 검색하며, 먼저 examples 을 검색한 다음 exampledirs에서 검색합니다.
QDoc은 examples 변수에 나열된 값들을 지정된 순서대로 검색하여, 가장 먼저 발견된 값을 채택합니다.
자세한 예제는 exampledirs 명령을 참조하십시오. 단, 파일이 examples 변수에 나열되어 있음을 알고 있다면 경로를 지정할 필요가 없습니다:
\quotefromfile calculator.cppexampledirs 항목도 참조하십시오.
examplesinstallpath
examplesinstallpath 변수는 설치된 예제 디렉터리 아래에 있는 이 프로젝트의 예제 파일들에 대한 루트 경로를 설정합니다.
모든 예제의 루트 설치 경로를 QT_INSTALL_EXAMPLES 로 가정할 경우, 경로는
<QT_INSTALL_EXAMPLES>/<examplesinstallpath>/<example_path>는 이 문서 프로젝트 내의 개별 예제의 경로를 참조하는 데 사용됩니다. 이러한 경로는 예제 매니페스트 파일에 기록되며, Qt Creator 에 의해 읽힙니다.
올바른 경로를 보장하려면, ` examplesinstallpath `이 ` exampledirs`에 나열된 디렉터리 중 하나와 일치해야 합니다. 각 \example 명령어에 인수로 전달되는 경로는 exampledirs에 있는 경로를 기준으로 한 상대 경로입니다.
예를 들어:
exampledirs = ./snippets \
../../../examples/mymodule
examplesinstallpath = mymodule다음과 같은 ` \example ` 명령어가 주어졌을 때:
/*!
\example basic/hello
...
*/그러면 이 예제의 매니페스트 파일에 mymodule/basic/hello 경로가 기록됩니다.
참고: 개별적으로 ` examplesinstallpath `을 재정의할 수 있습니다 \example 명령어를 사용하여 \meta 명령을 사용하여 개별적으로 xml-ph-0000@deepl.internal을 재정의할 수 있습니다.
참조: exampledirs, \example, 그리고 \meta.
examples.fileextensions
examples.fileextensions 변수는 QDoc이 문서에 표시할 예제 파일을 수집할 때 검색할 파일 확장자를 지정합니다.
기본 확장자는 *.cpp, *.h, *.js, *.xq, *.svg, *.xml 및 *.ui입니다.
확장자는 표준 와일드카드 표현식으로 지정됩니다. '+='를 사용하여 필터에 파일 확장자를 추가할 수 있습니다. 예를 들어:
examples.fileextensions += *.qrcheaders.fileextensions 항목도 참조하십시오.
examples.warnaboutmissingimages
예제 문서를 처리하는 동안, 예제에 이미지가 포함되어 있지 않으면 QDoc에서 경고가 표시될 수 있습니다. 이 경고는 프로젝트의 .qdocconf 파일에서 다음 구성 변수를 설정하여 비활성화할 수 있습니다:
examples.warnaboutmissingimages = false
이 구성 변수는 Qt 6.9부터 QDoc에 도입되었습니다.
examples.warnaboutmissingprojectfiles 항목도 참조하십시오.
examples.warnaboutmissingprojectfiles
예제 문서를 처리하는 동안, 예제에 프로젝트 파일이 포함되어 있지 않으면 QDoc에서 경고가 표시될 수 있습니다. 이 경고는 프로젝트의 .qdocconf 파일에서 다음 구성 변수를 설정하여 비활성화할 수 있습니다:
examples.warnaboutmissingprojectfiles = false
이 구성 변수는 Qt 6.9부터 QDoc에 도입되었습니다.
examples.warnaboutmissingimages 항목도 참조하십시오.
excludedirs
excludedirs 변수는 sourcedirs 또는 headerdirs 변수에 포함된 디렉터리라 하더라도 QDoc에서 처리 하지 말아야 할 디렉터리를 나열하는 데 사용됩니다.
예를 들어:
sourcedirs = src/corelib
excludedirs = src/corelib/tmp실행 시, QDoc은 나열된 디렉터리를 이후 처리 대상에서 제외합니다. 이 디렉터리 내의 파일은 QDoc에 의해 읽히지 않습니다.
excludefiles 항목도 참조하십시오.
excludefiles
excludefiles 변수를 사용하면 QDoc에서 처리하지 말아야 할 개별 파일을 지정할 수 있습니다.
excludefiles += $QT_CORE_SOURCES/../../src/widgets/kernel/qwidget.h \
$QT_CORE_SOURCES/../../src/widgets/kernel/qwidget.cppqtbase용 qdocconf 파일에 위 내용을 포함하면, QWidget 에 대한 클래스 문서가 생성되지 않습니다.
Qt 5.6부터는 excludefiles 에서 간단한 와일드카드('*' 및 '?')도 인식됩니다. 예를 들어, 모든 비공개 Qt 헤더 파일이 파싱 대상에서 제외되도록 하려면 다음과 같이 정의하십시오:
excludefiles += "*_p.h"excludedirs 항목도 참조하십시오.
extraimages
extraimages 변수는 QDoc이 생성된 문서에 특정 이미지를 포함하도록 지시합니다.
QDoc은 imagedirs에 있는 이미지 파일이 \image 또는 \inlineimage 명령어에 의해 참조되는 경우, QDoc은 해당 이미지 파일을 imagedirs에서 출력 디렉터리로 자동으로 복사합니다. 추가 이미지를 복사하려면 extraimages 변수를 사용하여 해당 이미지를 지정해야 합니다.
일반적인 구문은 다음과 같습니다. format.extraimages = image입니다.
예시:
HTML.extraimages = images/qt-logo.pngimages 및 imagedirs 항목도 참조하십시오.
거짓말
falsehoods 변수는 지정된 전처리기 심볼의 진리값을 false로 정의합니다.
이 변수의 값은 정규 표현식입니다(자세한 내용은 QRegularExpression 참조). 특정 전처리기 심볼에 대해 이 변수가 설정되지 않은 경우, QDoc은 해당 심볼의 진리값을 true로 간주합니다. 단, '0'은 예외로, 항상 false로 간주됩니다.
QDoc은 다음의 전처리기 구문을 인식하고 평가할 수 있습니다:
#ifdef NOTYET
...
#endif
#if defined (NOTYET)
...
#end if그러나 다음과 같이 알 수 없는 구문이 나타날 경우
#if NOTYET
...
#endifQDoc은 falsehoods 변수 항목 내에 전처리기 심볼이 지정되어 있지 않은 한, 기본적으로 이를 참으로 평가합니다:
falsehoods = NOTYET‘defines’ 항목도 참조하십시오.
generateindex
generateindex 변수는 HTML 문서를 생성할 때 인덱스 파일을 생성할지 여부를 지정하는 부울 값을 포함합니다.
기본적으로 HTML 문서와 함께 인덱스 파일이 항상 생성되므로, 이 변수는 일반적으로 이 기능을 비활성화할 때(값을 false 로 설정) 또는 WebXML 출력에 대한 인덱스 생성을 활성화할 때(값을 true 로 설정)에만 사용됩니다.
headerdirs
headerdirs 변수는 문서에 사용되는 .cpp 소스 파일과 관련된 헤더 파일이 포함된 디렉터리를 지정합니다.
headerdirs = $QTDIR/src \
$QTDIR/extensions/activeqt \
$QTDIR/extensions/motif \
$QTDIR/tools/designer/src/lib/extension \
$QTDIR/tools/designer/src/lib/sdk \
$QTDIR/tools/designer/src/lib/uilibQDoc이 실행되면 가장 먼저 수행하는 작업은 headers 변수에 지정된 헤더 파일과 headerdir 변수에 지정된 디렉터리(모든 하위 디렉터리 포함)에 있는 헤더 파일을 모두 읽어들이고, 클래스와 그 함수의 내부 구조를 구축합니다.
그런 다음, sources변수에 지정된 소스 파일들(모든 하위 디렉터리를 포함)을 읽어들이며, 헤더 파일에서 추출한 구조와 문서를 병합합니다. sourcedirs 변수에 지정된 디렉터리(모든 하위 디렉터리 포함)에 위치한 소스 파일을 읽어들이며, 헤더 파일에서 추출한 구조와 문서를 병합합니다.
headers 와 headerdirs 변수가 모두 정의되어 있는 경우, QDoc은 두 변수를 모두 읽어들이며, 먼저 headersheaderdirs 순서로 읽습니다.
지정된 디렉터리에서 QDoc은 fileextensions 변수에 지정된 파일만 읽습니다. headers.fileextensions 변수에 지정된 파일들만 읽습니다. headers 변수에 지정된 파일들은 파일 확장자를 고려하지 않고 읽힙니다.
headers 및 headers.fileextensions 항목도 참조하십시오.
headers
headers 변수를 사용하면 headerdirs 변수에 의해 지정된 디렉터리들에 있는 헤더 파일 외에도 개별 헤더 파일을 지정할 수 있게 해줍니다.
headers = $QTDIR/src/gui/widgets/qlineedit.h \
$QTDIR/src/gui/widgets/qpushbutton.hheaders 변수를 처리할 때, QDoc은 headerdirs 변수를 처리할 때와 동일한 방식으로 동작합니다. 자세한 내용은 headerdirs 변수를 참조하십시오.
headerdirs 항목도 참조하십시오.
headers.fileextensions
headers.fileextensions 변수는 헤더에서 사용하는 확장자를 지정합니다.
xml-ph-0000@deepl.internal 변수에 지정된 헤더 파일을 처리할 때, headerdirs 변수에 지정된 헤더 파일을 처리할 때, QDoc은 headers.fileextensions 변수에 지정된 파일 확장자를 가진 파일만 읽습니다. 이를 통해 QDoc은 관련 없는 파일을 읽는 데 시간을 낭비하지 않습니다.
기본 확장자는 *.ch, *.h, *.h++, *.hh, *.hpp 및 *.hxx입니다.
확장자는 표준 와일드카드 표현식으로 지정됩니다. '+='를 사용하여 필터에 파일 확장자를 추가할 수 있습니다. 예를 들면 다음과 같습니다:
header.fileextensions += *.H경고: 위의 할당문은 설명된 대로 작동하지 않을 수 있습니다.
headerdirs 항목도 참조하십시오.
includepaths
includepaths 변수는 QDoc이 문서 주석을 위해 C++ 코드를 파싱할 때 Clang 파서에 추가 포함 경로를 전달하는 데 사용됩니다.
이 변수는 -I (인클루드 경로), -F (macOS 프레임워크 인클루드 경로) 또는 -isystem (시스템 인클루드 경로)로 시작하는 경로 목록을 받아들입니다. 접두사가 생략된 경우, 기본적으로 -I 가 사용됩니다.
현재 .qdocconf 파일을 기준으로 한 상대 경로는 절대 경로로 변환됩니다. 파일 시스템에 존재하지 않는 경로는 무시됩니다.
참고: Qt 문서 프로젝트의경우 , 빌드 시스템은 일반적으로 QDoc을 호출할 때 필요한 포함 경로를 명령줄 인수로 제공합니다.
‘moduleheader’ 항목도 참조하십시오.
includeprivate
includeprivate 를 사용하여 문서에 C++ 클래스의 비공개 멤버를 포함시키십시오. QDoc은 일반적으로 생성된 문서에서 비공개 함수, 유형 및 변수를 제외합니다.
모든 비공개 멤버를 포함하려면 includeprivate 를 true 로 설정하십시오:
includeprivate = true특정 멤버 유형만 활성화할 수도 있습니다:
# Include only private functions
includeprivate.functions = true
# Include only private types (classes, enums, typedefs)
includeprivate.types = true
# Include only private variables
includeprivate.variables = true특정 설정은 전체 설정을 우선합니다. 예를 들어:
includeprivate = true
includeprivate.types = false이 구성에는 비공개 함수와 변수가 포함되지만, 비공개 유형은 제외됩니다.
참고: 내부 API 및 구현 세부 사항을 설명해야 할 때에만 비공개 멤버를문서화하십시오 . 사용자에게 필요하지 않은 구현 세부 사항은 공개하지 마십시오.
QDoc은 Qt 6.11에서 ` includeprivate `을 도입했습니다.
internalfilepatterns
internalfilepatterns 변수는 내부 구현 파일을 식별하는 파일 경로 패턴을 지정합니다. 이 패턴에 부합하는 파일에 선언된 클래스와 해당 클래스의 모든 멤버(속성, 함수, 열거형, 중첩형)는 자동으로 'Internal'로 표시됩니다. 파일 범위 내의 자유 함수, 열거형 및 typedef는 이 설정의 영향을 받지 않습니다.
showinternal이 false (기본값)일 경우, 이러한 엔티티는 문서 검증에서 제외됩니다. showinternal 이 true 일 경우, 이들은 문서에 포함되지만 ‘Internal’ 상태를 유지하므로, 생성기가 이를 다르게 스타일링할 수 있습니다(예: 내부 API에 대한 시각적 표시기 추가).
이는 문서화된 공개 인터페이스의 일부가 아닌 클래스를 포함하는 비공개 구현 헤더에 유용합니다. Qt에서는 _p.h 로 끝나는 비공개 헤더가 이에 해당합니다.
패턴 구문
패턴은 다음 두 가지 구문을 지원합니다:
- 셸 스타일 글로브 패턴:
*는 임의의 문자를,?는 정확히 하나의 문자를 나타내는 간단한 와일드카드입니다. 글로브 패턴은 전체 경로가 아닌 파일 이름에만 일치 여부를 확인하므로,*_p.h와 같은 패턴에 이상적입니다. - 정규 표현식: 경로 기반 일치를 위해서는 정규 표현식 구문을 사용합니다. 정규 표현식 메타문자(
^$[]{}()|+\\.)를 포함하는 모든 패턴은 정규 표현식으로 처리되며, 정규화된 전체 파일 경로와 일치 여부를 확인합니다.
패턴은 디렉터리 구분자로 슬래시(/)를 사용하여 일치됩니다. QDoc은 내부적으로 경로 구분자를 정규화하므로, 플랫폼에 관계없이 패턴에서는 항상 / 를 사용해야 합니다.
파일 위치로 인해 클래스가 Internal로 표시되면, Internal 상태는 노드 계층 구조를 통해 해당 클래스의 모든 멤버로 자동으로 전파됩니다.
예시 - Qt 규칙 (glob):
internalfilepatterns = *_p.h어떤 디렉터리 깊이에서든 _p.h 로 끝나는 모든 파일을 일치시킵니다.
예시 - 여러 파일 이름 패턴 (glob):
internalfilepatterns = *_p.h *_impl.h *_pch.h_p.h, _impl.h 또는 _pch.h 로 끝나는 파일을 일치시킵니다.
참고: 글로브 패턴은 파일 이름만 인식하므로 디렉터리 일치에는 사용할 수 없습니다. 디렉터리 기반 패턴을 사용하려면 대신 정규식을 사용하십시오.
예시 - 디렉터리 기반 일치 (정규 표현식):
internalfilepatterns = .*/internal/.*\.hinternal 디렉터리 내의 모든 수준에 위치한 모든 .h 파일을 일치시킵니다.
예시 - 여러 패턴:
internalfilepatterns = *_p.h .*/private/.*\.h간단한 경우에는 글로브 패턴을 사용하고, 복잡한 경로의 경우에는 정규식을 결합합니다.
QDoc은 Qt 6.11에서 ` internalfilepatterns `을 도입했습니다.
참조: excludedirs 및 excludefiles.
ignorewords
ignorewords 변수는 QDoc이 하이퍼링크 대상을 해결할 때 무시할 문자열 목록을 지정하는 데 사용됩니다.
QDoc에는 C++ 또는 QML 엔티티와 유사한 단어에 대해 링크 생성을 시도하는 자동 링크 기능이 있습니다. 구체적으로, 문자열의 길이가 3자 이상이고 공백이 없으며,
- camelCase 형식의 단어여야 합니다. 즉, 인덱스가 0보다 큰 위치에 대문자가 하나 이상 포함되어야 하거나,
()또는::와 같은 부분 문자열을 포함하거나,@또는_와 같은 특수 문자가 하나 이상 포함되어 있는 경우입니다.
ignorewords 에 특정 단어를 추가하면 QDoc이 해당 단어를 자동으로 링크하지 못하게 됩니다. 예를 들어, ‘OpenGL’이라는 단어가 유효한 링크 대상(섹션, \page, 또는 \externalpage 제목)인 경우, 다음을 사용하여 해당 단어가 나타날 때마다 하이퍼링크가 생성되는 것을 방지할 수 있습니다.
ignorewords += OpenGL'ignored'을 사용하여 명시적으로 링크하면 \l 방식은 무시된 단어에 대해서도 계속 작동합니다.
ignorewords 변수는 QDoc 5.14에서 도입되었습니다.
ignoresince
ignoresince 변수는 \since 명령어에 전달되는 버전의 상한값을 설정하는 데 사용됩니다. 이 상한값보다 낮은 버전을 정의하는 모든 \since 명령어는 무시되며, 출력이 생성되지 않습니다.
컷오프 값은 프로젝트별로 다릅니다. 프로젝트 이름은 하위 변수로 정의할 수 있습니다. 기본 프로젝트 이름은 Qt입니다. 예를 들면 다음과 같습니다:
ignoresince = 5.0
ignoresince.QDoc = 5.0이 경우, 주요 버전이 4 이하이고 프로젝트가 ` QDoc `이거나 정의되지 않은 ` \since ` 명령은 무시됩니다.
\since 3.2 # Ignored
\since 5.2 # Documented (as 'Qt 5.2')
\since QDoc 4.6 # Ignored
\since QtQuick 2.5 # Documentedignoresince 변수는 QDoc 5.15에서 도입되었습니다.
참조: \since.
imagedirs
imagedirs 변수는 문서에 사용된 이미지가 포함된 디렉터리를 지정합니다.
이 images 변수와 imagedirs 변수는 \image 및 \inlineimage 명령에서 사용됩니다. images 와 imagedirs 변수가 모두 정의된 경우, QDoc은 두 곳 모두에서 검색합니다. 먼저 images에서, 그 다음 imagedirs 에서 검색합니다.
QDoc은 지정된 순서대로 디렉터리를 검색하며, 처음 발견된 일치하는 파일을 선택합니다. 지정된 디렉터리 내에서만 검색하며, 하위 디렉터리는 검색하지 않습니다.
imagedirs = $QTDIR/doc/src/images \
$QTDIR/examples
images = $QTDIR/doc/src/images/calculator-example.png처리 시
\image calculator-example.pngQDoc은 images 변수의 값으로 calculator-example.png라는 파일이 나열되어 있는지 확인합니다. 해당 파일이 없다면, imagedirs 변수에서 다음을 검색합니다:
$QTDIR/doc/src/images/calculator-example.png파일이 존재하지 않으면, QDoc은
$QTDIR/examples/calculator-example.pngimagesoutputdir
imagesoutputdir 변수는 QDoc이 이미지를 저장하는 데 사용하는 출력 디렉터리 내의 하위 디렉터리 이름을 제어합니다.
imagesoutputdir 의 기본값은 images입니다.
다음 함수에 인수로 전달된 이미지 파일은 \image 및 \inlineimage 명령에 인수로 전달된 이미지 파일은 이 디렉터리로 복사됩니다.
이미지에 대한 사용자 지정 출력 디렉터리를 설정하는 것은, 여러 문서화 프로젝트가 공유 출력 디렉터리를 사용하도록 구성된 다중 모듈 문서화 빌드에서 유용합니다. 예를 들어, 다음과 같은 (공유) 구성이 있는 경우:
imagesoutputdir = images/${project}빌드에 포함된 각 문서 프로젝트는 이미지를 저장하기 위해 <outputdir>/images/<project name> 를 사용하므로, 동일한 이름의 이미지 파일이 서로 덮어쓰는 현상을 방지할 수 있습니다.
이 변수는 Qt 6.11에서 QDoc에 도입되었습니다.
언어
language 변수는 문서에 사용되는 소스 코드의 언어를 지정합니다. 구체적으로, 이 변수는 \code.. \endcode 블록 내에서 소스 코드를 파싱할 때 사용되는 기본 언어를 정의합니다.
language = Cpp기본 언어는 C++(Cpp)이며, 명시적으로 지정할 필요는 없습니다. 문서의 코드 스니펫이 주로 QML 코드로 구성되어 있다면, QML을 기본값으로 설정하십시오:
language = QML참조 \code.
위치 정보
locationinfo 부울 변수는 각 엔티티에 대한 상세 위치 정보가 .index 파일과 .webxml 파일(WebXML 출력 형식을 사용할 경우)에 기록될지 여부를 결정합니다.
위치 정보는 소스 코드 내 선언문 또는 문서 주석 블록의 전체 경로와 줄 번호로 구성됩니다.
이 변수를 false 로 설정하면 위치 정보가 비활성화됩니다:
locationinfo = false기본값은 true 입니다.
locationinfo 변수는 QDoc 5.15에서 도입되었습니다.
logwarnings
logwarnings 부울 변수는 QDoc이 stderr 외에도 로그 파일에 경고 메시지를 기록할지 여부를 결정합니다.
true 로 설정하면, QDoc은 출력 디렉터리에 <project>-qdoc-warnings.log 라는 이름의 로그 파일을 생성하고 모든 경고 메시지를 이 파일에 기록합니다. 경고 메시지는 평소와 같이 stderr에도 계속 기록됩니다.
이 로그 파일에는 프로젝트 정보가 포함된 헤더와, 재현성을 위해 QDoc을 호출할 때 사용된 명령줄 인수가 기본적으로 포함됩니다.
이 값을 true 로 설정하면 경고 로깅이 활성화됩니다:
logwarnings = true기본값은 false 입니다.
이 기능은 경고가 많이 발생하고 스크롤 속도가 너무 빨라 체계적으로 분석하기 어려운 대규모 문서 세트나 CI 환경에서 유용합니다.
logwarnings 변수는 QDoc 6.11에서 도입되었습니다.
logwarnings.disablecliargs
logwarnings.disablecliargs 부울 하위 변수는 경고 로그 파일 헤더에서 CLI 인수를 생략할지 여부를 제어합니다.
logwarnings.disablecliargs = truetrue 로 설정하면 로그 파일 헤더에서 명령줄 인수가 생략되어, 로그 파일을 서로 다른 환경 간에 호환되도록 할 수 있습니다. 이는 명령줄 인수에 환경별 경로나 임시 디렉터리가 포함된 테스트 스위트 및 CI 시스템에서 유용합니다.
기본값은 ` false`입니다. ` logwarnings.disablecliargs ` 변수는 QDoc 6.11에서 도입되었습니다.
매크로
macro 변수는 사용자 정의 간단한 QDoc 명령어를 생성하는 데 사용됩니다. 구문은 다음과 같습니다. macro.command = definition입니다. command는 문자와 숫자의 조합으로만 구성되어야 하며, 대시나 밑줄과 같은 특수 문자는 사용할 수 없습니다. definition은 QDoc 구문을 사용하여 작성합니다.
매크로 변수의 사용을 특정 유형의 출력 생성에만 제한할 수 있습니다. 예를 들어, 매크로 이름 뒤에 .HTML 를 추가하면 해당 매크로는 HTML 출력을 생성할 때만 사용됩니다.
macro.key = "\\b"
macro.raisedaster.HTML = "<sup>*</sup>"첫 번째 매크로는 인수를 굵은 글꼴로 렌더링하는 \key 명령을 정의합니다. 두 번째 매크로는 위첨자 별표(*)를 렌더링하는 \raisedaster 명령을 정의하지만, 이는 HTML을 생성할 때에만 적용됩니다.
매크로는 최대 7개의 매개변수를 받을 수도 있습니다:
macro.hello = "Hello \1!"매개변수는 다른 명령어와 동일한 방식으로 매크로에 전달됩니다:
\hello World매개변수가 두 개 이상인 경우나 인자에 공백이 포함된 경우에는 각 인자를 중괄호로 묶어야 합니다:
macro.verinfo = "\1 (version \2)"\verinfo {QFooBar} {1.0 beta}확장된 매크로에 대한 추가 정규식 패턴 일치를 위해 ‘match’라는 특수 매크로 옵션을 추가할 수 있습니다.
예를 들어,
macro.qtminorversion = "$QT_VER"
macro.qtminorversion.match = "\\d+\\.(\\d+)"이렇게 하면 QT_VER 환경 변수를 기반으로 소버전을 반환하는 ' \qtminorversion ' 매크로가 생성됩니다.
일치 패턴을 정의하는 매크로는 모든 캡처 그룹(괄호)을 연결하여 출력하거나, 패턴에 캡처 그룹이 포함되어 있지 않은 경우 정확히 일치하는 문자열을 출력합니다.
사전 정의된 매크로에 대한 자세한 내용은 ‘매크로’를 참조하십시오.
manifestmeta
manifestmeta 변수는 QDoc이 생성한 예제 매니페스트 파일에 대한 추가 메타 콘텐츠를 지정합니다.
자세한 내용은 ‘매니페스트 메타 콘텐츠’ 섹션을 참조하십시오.
moduleheader
moduleheader 변수는 문서화된 C++ 모듈의 모듈 헤더 이름을 정의합니다.
C++ API를 문서화하는 프로젝트는 해당 모듈의 모든 공개 클래스, 네임스페이스 및 헤더 파일을 포함하는 모듈 수준의 헤더 파일이 필요합니다. QDoc의 Clang 파서는 이 파일을 사용하여 모듈에 대한 사전 컴파일된 헤더(PCH)를 생성함으로써 소스 파일 파싱 속도를 높입니다.
기본적으로 프로젝트 이름이 모듈 헤더 이름으로 사용됩니다.
project = QtCore위의 프로젝트 이름을 기준으로, QDoc은 모든 알려진 포함 경로에서 QtCore 모듈 헤더를 검색합니다. 먼저 명령줄 인수로 전달된 경로를 사용하고, 그 다음 includepaths 변수에 나열된 경로를 사용합니다.
모듈 헤더를 찾지 못하면 QDoc은 경고를 표시합니다. 그런 다음 headerdirs 변수에 나열된 헤더를 기반으로 인공 모듈 헤더를 생성하려고 시도합니다.
Qt 문서 프로젝트의 경우, ` project ` 변수가 올바르게 설정되어 있다면 빌드 시스템이 일반적으로 모듈 헤더를 찾을 수 있는 올바른 포함 경로를 QDoc에 제공합니다. ` moduleheader ` 변수는 QDoc이 검색할 대체 파일 이름을 지정합니다.
C++ 문서가 포함되지 않은 프로젝트의 경우, parsecppcomments 변수를 사용하여 C++ 구문 분석을 비활성화하십시오. moduleheader 를 빈 문자열로 설정해도 동일한 효과가 있으며, 이는 하위 호환성을 위해 지원됩니다:
# No C++ code to document in this project
moduleheader =참조: parsecppcomments, includepaths 및 project를 참조하십시오.
자연어
naturallanguage 변수는 QDoc이 생성하는 문서에 사용되는 자연어를 지정합니다.
naturallanguage = zh-Hans기본적으로, 기존 문서와의 호환성을 위해 자연어는 en 로 설정되어 있습니다.
QDoc은 lang 및 xml:lang 속성을 사용하여 생성하는 HTML에 자연어 정보를 추가합니다.
또한 sourceencoding, outputencoding, C.7. lang 및 xml:lang 속성, 모범 사례 13: Hans 및 Hant 코드 사용을 참조하십시오.
탐색
navigation 하위 변수가 정의된 경우, 각 페이지에 대해 생성된 탐색 모음에 표시되는 홈 페이지, 랜딩 페이지, C++ 클래스 페이지 및 QML 유형 페이지를 설정합니다.
여러 하위 프로젝트(예: Qt 모듈)가 포함된 프로젝트에서는 일반적으로 각 하위 프로젝트가 자체 랜딩 페이지를 정의하는 반면, 모든 하위 프로젝트에서 동일한 홈페이지를 사용합니다.
하위 변수
navigation.homepage | 프로젝트 홈 페이지. |
navigation.hometitle | (선택 사항) 사용자에게 표시되는 홈페이지 제목입니다. 기본값은 homepage 에서 가져옵니다. |
navigation.landingpage | 하위 프로젝트 랜딩 페이지. |
navigation.landingtitle | (선택 사항) 랜딩 페이지의 사용자 표시 제목입니다. 기본값은 landingpage 에서 가져옵니다. |
navigation.cppclassespage | 이 (하위) 프로젝트의 모든 C++ 클래스를 나열하는 최상위 페이지입니다. 일반적으로 \module 페이지의 제목입니다. |
navigation.cppclassestitle | (선택 사항) C++ 클래스 페이지의 사용자 표시 제목입니다. 기본값은 "C++ 클래스"입니다. |
navigation.qmltypespage | 이 (하위) 프로젝트의 모든 QML 유형을 나열하는 최상위 페이지입니다. 일반적으로 \qmlmodule 페이지의 제목입니다. |
navigation.qmltypestitle | (선택 사항) QML 유형 페이지에 표시되는 사용자용 제목입니다. 기본값은 "QML 유형"입니다. |
navigation.toctitles (QDoc 6.0부터) | 목차(TOC) 역할을 하는 \list 목차(TOC) 역할을 하는 구조를 포함하는 페이지 제목입니다. QDoc은 TOC에 나열된 페이지에 대한 탐색 링크를 생성하며, 이를 위해 별도의 작업이 필요하지 않습니다 \nextpage and \previouspage 명령어 없이도 TOC에 나열된 페이지에 대한 탐색 링크를 생성할 뿐만 아니라, HTML 출력 시 탐색 모음(브레드크럼)에 표시되는 탐색 계층 구조도 생성합니다. |
navigation.toctitles.inclusive (QDoc 6.3부터) | true 로 설정된 경우, navigation.toctitles 에 나열된 페이지도 탐색 모음에 루트 항목으로 표시됩니다. |
navigation.trademarkspage (QDoc 6.8부터) | 문서에서 언급된 상표를 설명하는 페이지의 제목입니다. 다음 명령도 참조하십시오. \tm 명령어 참조. |
예를 들어:
# Common configuration
navigation.homepage = index.html
navigation.hometitle = "Qt $QT_VER"
# qtquick.qdocconf
navigation.landingpage = "Qt Quick"
navigation.cppclassespage = "Qt Quick C++ Classes"
navigation.qmltypespage = "Qt Quick QML Types"위의 구성을 적용하면 Item QML 타입에 대해 다음과 같은 네비게이션 바가 생성됩니다:
Qt 5.10 > Qt Quick > QML Types > Item QML Type목차 및 탐색 링크
목차(TOC) 역할을 하는 페이지가 하나 이상 있는 경우, navigation.toctitles 에 해당 페이지들의 제목을 나열하면 목차에 나열된 모든 페이지에 대한 탐색(이전 및 다음 페이지) 링크 생성이 자동화됩니다.
QDoc은 \list 링크를 각 목차 페이지에 포함할 것으로 예상합니다. 중첩된 하위 목록도 허용됩니다.
예를 들어,
\list
\li \l {Home}
\li \l {Getting started}
\li What's new
\list
\li \l {What's new in v1.3} {v1.3}
\li \l {What's new in v1.2} {v1.2}
\li \l {What's new in v1.1} {v1.1}
\endlist
\endlistQDoc 버전 6.10부터는 \generatelist 목차 목록에 다음과 같이 표시될 수 있습니다:
\list
\li \l {Home}
\li \l {Getting started}
\li What's new
\generatelist [descending] whatsnew
\endlist여기서 결과는 세 개의 `What's new` 페이지가 모두 동일한 whatsnew 그룹에 속한다고 가정할 때, 첫 번째 \list 와 유사합니다.
참조: \ingroup.
overloadedsignalstarget
기본값: connecting-overloaded-signals
overloadedsignalstarget 변수는 오버로드된 신호에 대해 자동으로 생성되는 노트에 사용되는 링크 대상을 지정합니다.
QDoc이 오버로드된 신호를 감지하면, 오버로드된 신호에 연결하는 방법에 대한 도움말 문서로 연결되는 링크가 포함된 노트를 생성합니다. 기본적으로 이 링크는 connecting-overloaded-signals 라는 대상에 연결됩니다.
프로젝트에서는 이를 사용자 정의하여 자체 문서로 연결되도록 설정할 수 있습니다:
# Link to a target within the project
overloadedsignalstarget = signals-guide.html#overloaded-signals
# Link to external documentation
overloadedsignalstarget = https://example.com/docs/signals.html#overloaded-signals타깃은 다음과 같을 수 있습니다:
- 간단한 대상 이름(
\target명령어와 함께 사용):connecting-overloaded-signals - 상대 URL:
signals-guide.html#overloaded-signals - 절대 URL:
https://example.com/docs/signals.html#overloaded-signals
overloadedslotstarget 항목도 참조하십시오.
overloadedslotstarget
기본값: connecting-overloaded-slots
overloadedslotstarget 변수는 오버로드된 슬롯에 대해 자동으로 생성되는 노트에서 사용되는 링크 대상을 지정합니다.
QDoc이 오버로드된 슬롯을 발견하면, 오버로드된 슬롯 연결 방법에 대한 도움말 문서로 연결되는 링크가 포함된 주석을 생성합니다. 기본적으로 이 링크는 connecting-overloaded-slots 라는 대상에 연결됩니다.
프로젝트에서는 이를 사용자 정의하여 자체 문서로 연결하도록 설정할 수 있습니다:
# Link to a target within the project
overloadedslotstarget = signals-guide.html#overloaded-slots
# Link to external documentation
overloadedslotstarget = https://example.com/docs/slots.html#overloaded-slots타깃은 다음과 같을 수 있습니다:
- 간단한 대상 이름(
\target명령어와 함께 사용):connecting-overloaded-slots - 상대 URL:
signals-guide.html#overloaded-slots - 절대 URL:
https://example.com/docs/slots.html#overloaded-slots
overloadedsignalstarget 항목도 참조하십시오.
outputdir
outputdir 변수는 QDoc이 생성된 문서를 저장할 디렉터리를 지정합니다.
outputdir = $QTDIR/doc/html생성된 Qt 참조 문서를 $QTDIR/doc/html에 저장합니다. 예를 들어, QWidget 클래스의 문서는
$QTDIR/doc/html/qwidget.html관련 이미지는 images 하위 디렉터리에 저장됩니다.
경고: 동일한 출력 디렉터리를 사용하여 QDoc을 여러 번실행하면 , 이전 실행 시 생성된 모든 파일이 삭제됩니다.
outputencoding
outputencoding 변수는 QDoc이 생성하는 문서에 사용되는 인코딩을 지정합니다.
outputencoding = UTF-8기본적으로, 기존 문서와 호환성을 위해 출력 인코딩은 ISO-8859-1 (Latin1)으로 설정되어 있습니다. 일부 언어, 특히 비유럽 언어에 대한 문서를 생성할 때는 이 설정만으로는 충분하지 않으며 UTF-8과 같은 인코딩이 필요합니다.
QDoc은 이 인코딩을 사용하여 HTML을 인코딩하고, 브라우저에 사용 중인 인코딩을 알리기 위한 올바른 선언을 생성합니다. 브라우저에 완전한 문자 인코딩 및 언어 정보 세트를 제공하기 위해서는 naturallanguage 구성 변수도 함께 지정해야 합니다.
outputencoding 및 naturallanguage 항목도 참조하십시오.
outputformats
outputformats 변수는 생성된 문서의 형식을 지정합니다.
Qt 5.11부터 QDoc은 HTML 및 WebXML 형식을 지원하며, Qt 5.15부터는 DocBook 형식으로도 문서를 생성할 수 있습니다. outputformats 가 지정되지 않은 경우, QDoc은 HTML(기본 형식)로 문서를 생성합니다. 모든 출력 형식을 지정할 수 있으며, 전용 출력 디렉터리 및 기타 설정도 지정할 수 있습니다. 예를 들면 다음과 같습니다:
outputformats = WebXML HTML
WebXML.nosubdirs = true
WebXML.outputsubdir = webxml
WebXML.quotinginformation = true이 명령은 기본 설정을 사용하여 HTML 문서를 생성하고, webxml 출력 하위 디렉터리에 WebXML 문서를 생성합니다.
outputprefixes
outputprefixes 변수는 파일 유형과 생성된 문서의 출력 파일 이름 앞에 붙일 접두사 간의 매핑을 지정합니다.
QDoc은 QML 유형, C++ 클래스, 네임스페이스 및 헤더 파일 참조 페이지의 파일 이름에 출력 접두사를 추가하는 기능을 지원합니다.
outputprefixes = QML CPP
outputprefixes.QML = uicomponents-
outputprefixes.CPP = components-기본적으로 QML 유형에 대한 API 문서가 포함된 파일 이름에는 qml- 접두사가 붙습니다. 위 예제에서는 대신 uicomponents- 접두사가 사용되었습니다.
마찬가지로, 위 예제에서 C++ 타입 문서 페이지에는 components- 접두사가 붙어 있습니다. 기본적으로 C++ 타입 페이지에는 접두사가 없습니다.
outputsuffixes
outputsuffixes 변수는 파일 유형과 출력 파일 이름에 나타나는 모듈 또는 유형 이름에 적용할 확장자 간의 매핑을 지정합니다.
QDoc은 모듈 페이지, QML 타입, C++ 클래스, 네임스페이스 및 헤더 파일 참조 페이지의 파일 이름에 출력 접미사를 추가하는 기능을 지원합니다.
기본적으로 접미사는 사용되지 않습니다. QML 출력 접미사가 정의된 경우, QML 타입 및 QML 모듈 페이지의 파일 이름에 나타나는 모듈 이름에 접미사로 적용됩니다.
C++ 타입의 파일명에는 모듈 이름이 포함되지 않습니다. CPP 출력 접미사가 정의된 경우, 해당 접미사는 타입 이름의 접미사로 적용됩니다.
outputsuffixes = QML CPP
{outputsuffixes.QML,outputsuffixes.CPP} = -tp위의 정의에 따라, QML 모듈 이름이 FooBar이고 기본 출력 접두사가 (qml-)인 경우, QML 타입 FooWidget에 대해 생성되는 파일의 이름은 qml-foobar-tp-foowidget.html 입니다.
마찬가지로, C++ 클래스 QFoobar의 경우 QDoc은 qfoobar-tp.html 를 생성합니다.
outputsuffixes 변수는 QDoc 5.6에서 도입되었습니다.
parsecppcomments
parsecppcomments 변수는 QDoc이 Clang 기반 C++ 파서를 사용하여 C++ 소스 파일을 파싱할지 여부를 제어합니다.
false 로 설정하면, QDoc은 해당 프로젝트에 대해 Clang 구문 분석 및 PCH 생성을 건너뛰고, 대신 순수 문서화 파서를 사용하여 .cpp 파일을 처리합니다. 이는 QML API만 문서화하는 프로젝트에 유용하며, 이러한 프로젝트의 C++ 소스 파일에는 QDoc 주석이 포함되어 있지만 문서화할 C++ 엔티티는 없습니다.
기본값은 true 입니다.
parsecppcomments = false참고: moduleheader 빈 문자열로 설정하는 것도 동일한 효과를 가지며, 하위 호환성을 위해 지원됩니다. parsecppcomments 는 이러한 의도를 표현하는 데 권장되는 방식입니다.
parsecppcomments 변수는 Qt 6.12에서 QDoc에 도입되었습니다.
참조: moduleheader.
qhp
qhp 의 하위 변수들은 Qt Help Project(qhp) 파일에 기록될 정보를 정의하는 데 사용됩니다.
이 과정에 대한 자세한 내용은 ‘도움말 프로젝트 파일 만들기 ’ 장을 참조하십시오.
QDoc 6.6부터 기본 qhp 변수를 true 로 설정하면 유효한 도움말 프로젝트 구성이 필요함을 의미합니다:
qhp = true이 경우, 프로젝트 구성에서 qhp.projects 가 정의되지 않았을 때 QDoc은 경고를 표시합니다. 이는 (Qt XML에서와 같이) 공유된 최상위 .qdocconf 파일을 사용하는 모든 문서화 프로젝트가 올바르게 구성되었는지 확인하는 데 유용합니다.
경고를 비활성화하려면 변수를 false 로 설정하십시오.
showautogenerateddocs
showautogenerateddocs 부울 변수는 명시적으로 기본값이 지정되거나 삭제된 특수 멤버 함수에 대해 QDoc이 자동으로 생성하는 문서가 출력에 표시될지 여부를 결정합니다.
QDoc은 해당 함수에 대한 문서 블록이 없을 때 \fn 해당 함수를 문서화하는 블록이 없을 때 생성합니다. \fn 작성된 문서 내용은 생성된 텍스트보다 항상 우선하며, 이 변수의 영향을 받지 않습니다.
이 변수를 false 로 설정하면 자동 생성된 문서가 생략됩니다:
showautogenerateddocs = false기본값은 true 입니다.
showautogenerateddocs 변수는 QDoc 6.12에서 도입되었습니다.
sourcedirs
sourcedirs 변수는 문서에 사용되는 .cpp 또는 .qdoc 파일이 포함된 디렉터리를 지정합니다.
sourcedirs += .. \
../../../examples/gui/doc/srcQDoc이 실행되면 가장 먼저 하는 작업은 header 변수에 지정된 헤더와 headerdir 변수에 지정된 디렉터리(모든 하위 디렉터리 포함)에 위치한 헤더를 모두 읽어 들여, 클래스와 그 함수들의 내부 구조를 구축합니다.
그런 다음, sources변수에 지정된 소스 파일과 sourcedirs 변수에 지정된 디렉터리(모든 하위 디렉터리 포함)에 위치한 소스 파일을 모두 읽어들이며, 이 과정에서 문서를 헤더 파일에서 추출한 구조와 병합합니다.
sources 와 sourcedirs 변수가 모두 정의된 경우, QDoc은 두 변수를 모두 읽어들이며, 먼저 sourcessourcedirs 순으로 읽습니다.
지정된 디렉터리에서 QDoc은 fileextensions 변수에 지정된 파일만 읽습니다. sources.fileextensions 변수에 지정된 파일들만 읽습니다. sources 변수에 지정된 파일들은 파일 확장자와 관계없이 읽힙니다.
sources 및 sources.fileextensions 항목도 참조하십시오.
sourceencoding
sourceencoding 변수는 소스 코드와 문서에 사용되는 인코딩을 지정합니다.
sourceencoding = UTF-8기본적으로 소스 인코딩은 기존 문서와의 호환성을 위해 ISO-8859-1 (Latin1)으로 설정되어 있습니다. 일부 언어, 특히 비유럽 언어의 경우 이 설정만으로는 충분하지 않으며 UTF-8과 같은 인코딩이 필요합니다.
QDoc은 이 인코딩을 사용하여 소스 및 문서 파일을 읽지만, C++ 컴파일러의 제한 사항으로 인해 소스 코드 주석에서 비-ASCII 문자를 사용할 수 없는 경우가 있습니다. 이러한 경우, API 문서를 문서 파일에만 작성할 수 있습니다.
‘naturallanguage ’ 및 ‘outputencoding’ 항목도 참조하십시오.
출처
sources 변수를 사용하면 sourcedirs 변수로 지정된 디렉터리에 있는 소스 파일 외에도 개별 소스 파일을 지정할 수 있습니다.
sources = $QTDIR/src/gui/widgets/qlineedit.cpp \
$QTDIR/src/gui/widgets/qpushbutton.cppsources 변수를 처리할 때, QDoc은 sourcedirs 변수를 처리할 때와 동일한 방식으로 동작합니다. 자세한 내용은 sourcedirs 변수를 참조하십시오.
sourcedirs 항목도 참조하십시오.
sources.fileextensions
sources.fileextensions 변수는 소스 디렉터리 내의 파일을 필터링합니다.
xml-ph-0000@deepl.internal 변수에 지정된 소스 파일을 처리할 때 sourcedirs 변수에 지정된 소스 파일을 처리할 때, QDoc은 sources.fileextensions 변수에 지정된 파일 확장자를 가진 파일만 읽습니다. 이를 통해 QDoc은 관련 없는 파일을 읽는 데 시간을 낭비하지 않습니다.
기본 확장자는 *.c++, *.cc, *.cpp, *.cxx, *.mm, *.qml 및 *.qdoc입니다.
확장자는 표준 와일드카드 표현식으로 지정됩니다. '+='를 사용하여 필터에 파일 확장자를 추가할 수 있습니다. 예를 들어:
sources.fileextensions += *.CC경고: 위의 할당문은 설명된 대로 작동하지 않을 수 있습니다.
sourcedirs 및 sources 항목도 참조하십시오.
spurious
spurious 변수는 지정된 QDoc 경고를 출력에서 제외합니다. 경고는 표준 와일드카드 표현식을 사용하여 지정합니다.
spurious = "Cannot find .*" \
"Missing .*"이 변수는 QDoc 실행 시 이러한 표현식 중 하나와 일치하는 경고가 출력에 포함되지 않도록 보장합니다. 예를 들어, 다음 경고는 출력에서 제외될까요?
src/opengl/qgl_mac.cpp:156: Missing parameter namesyntaxhighlighting
syntaxhighlighting 변수는 QDoc이 생성하는 문서에 인용된 소스 코드에 대해 구문 강조를 수행할지 여부를 지정합니다.
syntaxhighlighting = true이 변수를 설정하면 지원되는 모든 프로그래밍 언어에 대해 구문 강조 표시가 활성화됩니다.
tabsize
tabsize 변수는 탭 문자의 크기를 정의합니다.
tabsize = 4이 변수를 설정하면 탭 문자의 크기가 공백 4개 분량이 됩니다. 이 변수의 기본값은 8이며, 별도로 지정할 필요는 없습니다.
tagfile
tagfile 변수는 HTML이 생성될 때 작성될 Doxygen 태그 파일을 지정합니다.
version
version 변수는 문서화된 소프트웨어의 버전 번호를 지정합니다.
version = 5.6.0버전 번호가 지정된 경우( version 또는 versionsym.qdocconf 변수를 사용하여) 지정되면, 문서화 과정에서 해당 \version 명령을 통해 이 버전 번호에 접근할 수 있습니다.
경고: \version 명령어의 기능이 완전히 구현되지 않았습니다. 현재는 원시 HTML 코드 내에서만 작동합니다.
versionsym 항목도 참조하십시오.
versionsym
versionsym 변수는 문서화된 소프트웨어의 버전 번호를 정의하는 C++ 전처리기 심볼을 지정합니다.
versionsym = QT_VERSION_STRQT_VERSION_STR qglobal.h에서 다음과 같이 정의되어 있습니다.
#define QT_VERSION_STR "5.14.1"버전 번호가 지정된 경우 ( version 또는 versionsym.qdocconf 변수를 사용하여) 지정되면, 문서에 사용하기 위해 해당 \version 명령어를 통해 접근할 수 있습니다.
경고: \version 명령어의 기능이 완전히 구현되지 않았습니다. 현재는 원시 HTML 코드 내에서만 작동합니다.
참조 \version.
warninglimit
warninglimit 변수는 허용되는 문서 경고의 최대 개수를 설정합니다. 이 제한을 초과하면 QDoc은 정상적으로 실행을 계속하지만, 경고 개수를 오류 코드로 지정하여 종료됩니다. 제한을 초과하지 않았거나 warninglimit 가 정의되지 않은 경우, 다른 치명적인 오류가 없다고 가정하고 QDoc 프로세스는 0을 반환하며 종료됩니다.
warninglimit 을 0 로 설정하면 경고가 하나라도 발생하면 실패로 간주됩니다.
참고: 기본적으로 QDoc은 경고 한도를 적용하지 않습니다. warninglimit.enabled = true 를 사용하거나 QDOC_ENABLE_WARNINGLIMIT 환경 변수를 정의하여 이 기능을 활성화하십시오.
예를 들어,
# Fail the documentation build if we have more than 100 warnings
warninglimit = 100
warninglimit.enabled = truewarninglimit 변수는 Qt 5.11에서 도입되었습니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.