Установка компилятора отладчика, средств сборки
Если мы зашли в netbeans и видим на вкладке "С/C++ -> Средства сборки" пустые поля для компилятора, сборщика и отладчиков, то это означает, что они у нас не установлены.
Делаем установку:
# apt-get install gcc g++ make gdb qt5-qmake cmake
После установки пакетов нажимаем в форме(IDE Netbeans) кнопку "Восстановить значения по умолчанию", это приведет к заполнению полей. В частности "Базовый каталог" заполнится значением /usr/bin
После чего нажимаем кнопку "Применить"
Справка по компилятору:
https://linux.die.net/man/1/gcc
gcc -o sp1 sp1.c -std=gnu11 -Wall
-o sp1 - исполняемый код будет в файле sp1
sp1.c - исходный файл
-Wall - максимальный? уровень многословности компилятора(желательно включать при отладке)
-g - для генерирования отладочной информации, с которой будет работать GDB
https://habrahabr.ru/post/181738/
Использование математических функций:
1) Включаем заголовочный файл:
#include <math.h>
2) Для используемых функций явно описываем прототипы
double acosh(double x); // прототип функции для обратного гиперболического косинуса
double cbrt(double x); // прототип функции для кубического корня
Все прототипы смотрим здесь:
https://www.opennet.ru/docs/RUS/mlib/
3) Стелем соломку для линкера(хотя в gcc version 6.3.0 20170516 (Debian 6.3.0-18) компилится и без -lm ):
Не линкуется библиотека math (невозможно разрешить идентификатор sqrt)
Нужно добавить директиву -lm для компоновщика
Сделать это можно 2-мя способами (Netbeans)
а) Свойства проекта -> Компоновщик -> Дополнительные параметры -> вписываем -lm
б) Свойства проекта -> Компоновщик -> Библиотеки -> Добавить стандартную библиотеку -> Математика, что также добавит суффикс -lm для компоновщика
fflush() не работает в Linux
"The behavior of fflush is not defined for input streams"
Вместо fflush(stdin); используем такую функцию для очистки буфера ввода:
void clean_stdin(void)
{
int c;
do {
c = getchar();
} while (c != '\n' && c != EOF);
}
Ошибка при компиляции приложения GTK: gtk/gtk.h: Нет такого файла или каталога
Решение для NetBeans
Свойства проекта -> Компилятор C -> Дополнительные параметры
Здесь добавляем строчку, включая обратные апострофы.
`pkg-config --cflags gtk+-3.0`