У вас есть исходные файлы card.c
, deck.c
и main.c
. Разумно предположить, что card.c
и deck.c
определяют функции, по крайней мере один из которых вызван чем-то в main.c
, иначе вам не понадобится header.h
. Предположительно, функции, названные в ваших ошибках ссылок, относятся к числу таких.
Команда
gcc main.c
попытки скомпилировать код в main.c
и связать его, чтобы сформировать полную программу, но не достаточно для полной программы, потому что некоторые из необходимых функций определены (реализовано) в других исходных файлах. Об этом жалуется компоновщик.
Если вы хотите скомпилировать main.c
в объектный файл, но не связать его, то вам нужен -c
варианта:
gcc -c main.c
Если вы хотите построить полную программу с одним пробегом gcc
, то вы должны указать все необходимые источники:
gcc main.c deck.c card.c
в последнем случае, вы также можете использовать опцию -o
указать имя, отличное от a.out
для исполняемого файла.
Какую именно команду вы используете для компиляции своей программы? – Phil
gcc main.c. Нужно ли мне сначала использовать gcc заголовок и другие исходные файлы? – Walker
Каковы ваши «команды компиляции»? –