Cod*_*key 12 c++ cmake visual-studio-code
我正在尝试使用 libTooling 编写一个工具。我对其进行了设置,以便它可以使用 LLVM 文档中的示例进行编译。然而,C/C++ IntelliSense 似乎不适用于 CMake 项目。
我的工具位于:
<project>/clang-tools-extra/mytool
现在,C/C++ 扩展尝试读取compile_config.json,并告诉我<project>/build/compile_config.json找不到,而是使用includePathfrom c_cpp_properties.json。
我尝试在工作区设置中手动添加包含路径:
{
"C_Cpp.default.includePath": [
"../../",
"../../clang/Frontend/",
"../../clang/Tooling/",
"../../llvm/Support/"
],
"C_Cpp.default.browse.path": [
"../.."
]
}
Run Code Online (Sandbox Code Playgroud)
或者在一个文件中c_cpp_properties.json。但它仍然在错误的位置搜索包含内容。例如包括:
#include "llvm/Support/CommandLine.h"
Run Code Online (Sandbox Code Playgroud)
它试图在 中查找<project>/llvm/include/llvm/Support/CommandLine.h。因此,显然它从 command_config.json 中读取了一些内容,尽管它说找不到它(虽然它在那里),但这是错误的。llvm/include根本不应该添加。
rus*_*tyx 16
对于 VSCode 1.63+(2022 或更高版本):
1.安装CMake 工具扩展 ( ms-vscode.cmake-tools)。
2.将其放入.vscode/c_cpp_properties.json:
{
"configurations": [
{
"name": "CMake",
"compileCommands": "${config:cmake.buildDirectory}/compile_commands.json",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
Run Code Online (Sandbox Code Playgroud)
小智 5
您需要安装 cmake-tool 扩展 (ms-vscode.cmake-tools) 并将以下配置添加到您的c_cpp_properties.json:
{
"configurations": [
{
"compileCommands": "${workspaceFolder}/_build/compile_commands.json",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
Run Code Online (Sandbox Code Playgroud)
它对我有用
1) 将“compileCommands”指向“compile_commands.json”
2) 您可能需要添加 **,例如:../../**双星使其递归
3) 您可以使用一些变量,例如,${workspaceRoot}而不是在包含路径中使用相对路径
| 归档时间: |
|
| 查看次数: |
27095 次 |
| 最近记录: |