Clangd не может разрешить заголовки ANTLR4 в VS -кодовом контейнере с compile_commands.jsonC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Clangd не может разрешить заголовки ANTLR4 в VS -кодовом контейнере с compile_commands.json

Сообщение Anonymous »

Я пытаюсь настроить контейнер с кодом VS -кода, используя ClangD, чтобы получить правильную автозаполнение C ++ и диагностику для проекта, который использует время выполнения ANTLR4 C ++. У меня есть рабочая среда разработки на основе Docker, которая создает время выполнения ANTLR4 из источника, генерирует compile_commands.json и устанавливает ее внутри контейнера.{
"name": "ANTLR4 Dev",
"image": "ubuntu-antlr4:dev",
"customizations": {
"vscode": {
"settings": {
"terminal.integrated.defaultProfile.linux": "bash",
"clangd.trace.server": "verbose",

"clangd.arguments": [
"--compile-commands-dir=${workspaceFolder}/"
]

},
"extensions": [
"mike-lischke.vscode-antlr4",
"llvm-vs-code-extensions.vscode-clangd"
]
}
},
"mounts": ["type=bind,source=${localWorkspaceFolder},target=/app"],
"remoteUser": "root",
"workspaceFolder": "/app"
}

< /code>
Вот Dockerfile, который я использовал для создания моего изображения (оно расположен в каталоге /root /antlr4-install) < /p>
FROM ubuntu:22.04

USER root

RUN apt-get update && apt-get install -y \
cmake \
wget \
unzip \
build-essential \
openjdk-17-jdk

RUN java -version

RUN mkdir -p /root/antlr4-install \
&& cd /root/antlr4-install \
&& wget https://www.antlr.org/download/antlr-4. ... mplete.jar \
&& wget https://www.antlr.org/download/antlr4-c ... source.zip \
&& unzip antlr4-cpp-runtime-4.13.2-source.zip \
&& mkdir build \
&& cd build \
&& cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_INSTALL_PREFIX:PATH=/root/antlr4-install .. \
&& make -j8 \
&& make install

ENTRYPOINT [ "bash" ]
< /code>
Моя общая структура проекта < /p>
working_dir/
.devContainer/
src/
compile_commands.json
< /code>
Вот образец моего файла compile_commands.json < /p>
{
"directory": "/root/antlr4-install/build/runtime",
"command": "/usr/bin/c++ -Dantlr4_shared_EXPORTS -I/root/antlr4-install/runtime/src -I/root/antlr4-install/runtime/src/atn -I/root/antlr4-install/runtime/src/dfa -I/root/antlr4-install/runtime/src/internal -I/root/antlr4-install/runtime/src/misc -I/root/antlr4-install/runtime/src/support -I/root/antlr4-install/runtime/src/tree -I/root/antlr4-install/runtime/src/tree/pattern -I/root/antlr4-install/runtime/src/tree/xpath -Wall -pedantic -W -O3 -DNDEBUG -O3 -DNDEBUG -fPIC -Wno-overloaded-virtual -Wno-multichar -std=c++17 -o CMakeFiles/antlr4_shared.dir/src/ANTLRErrorListener.cpp.o -c /root/antlr4-install/runtime/src/ANTLRErrorListener.cpp",
"file": "/root/antlr4-install/runtime/src/ANTLRErrorListener.cpp"
}
< /code>
Я попытался установить LIB непосредственно в рабочий каталог проекта и скопировал compile_commands.json в рабочий каталог, а также используя контейнер Dev. Я уже провел довольно много времени и до сих пор не могу решить ошибку, а также всех остальных в моем классе, и учителям все равно, поскольку они кодируют, используя VI. Кроме того, кажется, что нет журналов, сгенерированных CLANGD в VSCODE. Заголовки моего рабочего каталога решаются без каких -либо проблем.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ile-comman
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»