Здесь
gcc -g -Wall -Wextra -pedantic -std=c99 -o main -lm
вы не предоставляете компоновщику имя исходного файла , следовательно, он выдает ошибку типа
неопределенная ссылка на `main '
При компиляции укажите исходный файл main.c
и source.c
. Например, сначала запустите этот
gcc -g -Wall -Wextra -pedantic -std=c99 -c main.c source.c -lm
для создания .o
файлов объектов, а затем для создания исполняемого файла, запустив
gcc source.o main.o -o my_exe
И, наконец, запустите исполняемый файл. Также объявление simple_sum()
отсутствует ;
должно быть
void simple_sum(void); /* you miss ;*/
Также узнайте, как использовать Makefile для компиляции, как указано @Basile, там вам не нужно создавать файл .o
вручную, ваш Makefile
создаст файл .o
и скомпилирует, если он написано правильно.