我对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方法呢?我们是否应该从源代码中删除此方法?源代码并没有准备好被包含和使用,这似乎很奇怪。