Я очень новичок в C, поэтому приношу свои извинения за этот новый вопрос.Включая исходные файлы в файлы C
Я бы хотел использовать этот исходный код в своем проекте: http://base64.sourceforge.net/b64.c.
Итак, я включил его в мой тестовый файл:
#include <stdio.h>
#include "b64.c"
int main()
{
return 0;
}
Однако main()
определяется в b64.c
, так что при компиляции, я получаю:
test.c:4:5: error: redefinition of ‘main’
b64.c:495:5: note: previous definition of ‘main’ was here
test.c: In function ‘main’:
test.c:5:1: error: number of arguments doesn’t match prototype
b64.c:495:5: error: prototype declaration
Что такое правильное использование этого исходного файла или любого? Как мы его правильно используем или используем функции, определенные в этом файле?
Редактировать: Я понимаю, что проблема связана с повторяющимися определениями main. Я знаю, что может быть только один. Мой вопрос скорее, не будет ли в каждом значимом проекте его основным методом? Тогда почему существует основной метод, определенный в b64.c? Мы просто должны удалить этот метод из исходного кода? Кажется странным, что исходный код не просто готов к включению и использованию.
Похоже, что ваш 'main' ничего не делает; зачем вам ваш тестовый файл? –
Посмотрите здесь: http://stackoverflow.com/questions/232693/including-one-c-source-file-in-another – avignat