Netbeans 26 C++ (clang/clangd) + build system

от автора

нетбинс минималиста

нетбинс минималиста

Всем привет. Стал нужен IDE минимальный, и я вспомнил, есть Нетбинс. Скачал, мне он очень понравился — удобный, но чего-то не хватает.

Как сделать рабочим Нетбинс 26, когда какой-то модуль, который раньше в плагинах работал теперь не работает. Давайте рассмотрим этот нюанс.

Вопрос интересный, давайте рассмотрим

Пользуюсь системой FreeBSD14.2 Netbeans26 -версии скачан в zip, clang++20, clangd20.

Первое что я сделал выставил настройку на clangd20 исполнение

настройка вызова clangd20

настройка вызова clangd20

Нам доступно в такой конфигурации без модуля создание проекта ligthweight C++, его тоже поставил

выставил галочку на поддержку C++

C/C++ галочка

C/C++ галочка

далее так как я пользуюсь OS FreeBSD

создал файл .clangd в корневом разделе проекта

CompileFlags:   Add: [ -I/usr/local/include ]

ссылка на описание ситуации https://clangd.llvm.org/config

и далее так как я пользуюсь самодельной билд системой по-сути скриптом, добавил этот скрипт в соответствующие поля

прописал скрипт

прописал скрипт
name="testapp" # cmp="clang++20" # flags="-std=c++26 " #-O3 -ffast-math # dirsmath="math" dirswin="commons" dirsshader="shader" dirscamera="camera" dirssysbufs="sysbuffers" #  files="main.cpp \ $dirswin/OpenglWindow.cpp \ OpenglTest.cpp \ $dirsmath/wtm.cpp \ $dirsshader/shader.cpp \ $dirscamera/camera.cpp"  dirObjs="Objs" # poss="-I/usr/local/include" possl="-L/usr/local/lib" #main.cpp commons/OpenglWindow.cpp OpenglTest.cpp shader/shader.cpp math/wtm.cpp camera/camera.cpp link="-DGLEW_STATIC -ldl -lGL -lGLEW -lglfw -lm -lz -DSHM -lassimp -lpthread -lX11 -lXxf86vm -lXrandr -lXi" # command_string="$cmp $flags -c  $files $poss $link;" command_string1="$cmp $flags $dirObjs/*.o -o testapp $poss $possl $link;" #  erasefile (){     echo ""     echo "delete $name"; rm $name; rm $dirObjs/*.o; }  compilecheck () {     echo ""     echo "compilation start"     echo ""     echo "$command_string"     echo ""     echo "$command_string1"     echo ""     for src in $files; do         obj="${src%.cpp}.o"         obj1=$dirObjs/"${obj##*/}"         echo "compiling $src to $obj1"         "$cmp" $flags -c "$src" -o $obj1 $poss     done     echo "compilation end with "$?     echo ""     echo "linking $command_string1"     eval "$command_string1"     echo "compilation end with "$?     echo ""     echo "start $name";./$name     echo ""     echo "application end with "$?     echo "" }  if test -e $name; then     erasefile     compilecheck else     compilecheck fi 

сам скрипт, суть скрипта проста — указываем окружение — директории и файлы, указываем директорию для обьектников, создаём директорию для обьектников, и всё должно сработать как должно быть в скрипте по его логике, скрипт простенький его можно настраивать под свои нужды, хорошая альтернатива cmake ) на мой взгляд.

Далее прописал compile_flags.txt в интерфейсе в Нетбинс

установка compile_flags.txt

установка compile_flags.txt

файл compile_flags.txt находится в корневой директории проекта

-I/usr/local/include -std=c++26 -Wall -O3 -ffast-math

после этих действий я вижу, автодополнение и в консольке не скучную сборку в Нетбинсе26.

настроенный Нетбинс

настроенный Нетбинс

теперь Нетбинс настроен, но как настроить дебаг пока не понял.


ссылка на оригинал статьи https://habr.com/ru/articles/916534/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *