Qt Creator Clang Code Model: Difference between revisions
(Add libclang build overview) |
No edit summary |
||
(29 intermediate revisions by 3 users not shown) | |||
Line 8: | Line 8: | ||
Linux/Mac: | Linux/Mac: | ||
export QT_LOGGING_RULES=qtc.clang*=true | export QT_LOGGING_RULES=qtc.clang*=true | ||
./qtcreator | ./qtcreator | ||
Windows (start [https://technet.microsoft.com/en-us/sysinternals/debugview.aspx DebugView] in advance to see the output): | Windows (start [https://technet.microsoft.com/en-us/sysinternals/debugview.aspx DebugView] in advance to see the output): | ||
set QT_LOGGING_RULES=qtc.clang*=true | set QT_LOGGING_RULES=qtc.clang*=true | ||
qtcreator.exe | qtcreator.exe | ||
This will create way too much output. But since the lines are prefixed with the rule that generated them, you can easily adapt your settings to what you are actually interested in. | |||
=== Compiler command lines for the code model context === | |||
The file <build dir>/.qtc_clangd/compile_commands.json contains the exact command lines that clangd uses to parse the files in the project. | |||
== Related Environment Variables == | == Related Environment Variables == | ||
=== Run time related === | === Run time related === | ||
* | * QTC_CLANG_USE_TOOLCHAIN_MACROS - Uses also the toolchain macros for code model | ||
* | * QTC_CLANG_CMD_OPTIONS_BLACKLIST - Semicolon sepparated list of compiler command line options not to be passed to code model | ||
== | == clangd == | ||
clangd is used via the language server protocol to provide code model features | |||
=== Builds === | === Builds === |
Latest revision as of 14:27, 20 May 2022
Documentation: http://doc.qt.io/qtcreator/creator-clang-codemodel.html
Debugging
With the following invocation debugging output will be generated:
Linux/Mac:
export QT_LOGGING_RULES=qtc.clang*=true ./qtcreator
Windows (start DebugView in advance to see the output):
set QT_LOGGING_RULES=qtc.clang*=true qtcreator.exe
This will create way too much output. But since the lines are prefixed with the rule that generated them, you can easily adapt your settings to what you are actually interested in.
Compiler command lines for the code model context
The file <build dir>/.qtc_clangd/compile_commands.json contains the exact command lines that clangd uses to parse the files in the project.
Related Environment Variables
- QTC_CLANG_USE_TOOLCHAIN_MACROS - Uses also the toolchain macros for code model
- QTC_CLANG_CMD_OPTIONS_BLACKLIST - Semicolon sepparated list of compiler command line options not to be passed to code model
clangd
clangd is used via the language server protocol to provide code model features
Builds
Linux and Mac:
libclang is built with the same compilers as Qt Creator ("Clang 7.0 (Apple)" for macOS, and GCC 5.3 from RHEL (which turns on old ABI compatibility with _GLIBCXX_USE_CXX11_ABI=0 by default) on Linux)
Windows:
Currently libclang is built with optimized MinGW compiler for all Qt Creator versions. More information about Windows builds: Build libclang on Windows