Я пытаюсь настроить контейнер с кодом 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
Clangd не может разрешить заголовки ANTLR4 в VS -кодовом контейнере с compile_commands.json ⇐ C++
Программы на C++. Форум разработчиков
1748457229
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.13.2-complete.jar \
&& wget https://www.antlr.org/download/antlr4-cpp-runtime-4.13.2-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. Заголовки моего рабочего каталога решаются без каких -либо проблем.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79642747/clangd-cant-resolve-antlr4-headers-in-vs-code-dev-container-with-compile-comman[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия