我正在尝试使用arm-elf-gcc和arm-rtems-gcc对vsoc_beta进行一些测试。但是,两个编译器都给了我同样的错误:
/home/student/vsoc-beta/apps/libgomp/root.o: In function `main':
/home/student/vsoc-beta/apps/libgomp/libgomp.c:24: multiple definition of `main'
app_obj.o:/home/student/vsoc-beta/apps/rotate/rot.c:103: first defined here
/home/student/vsoc-beta/apps/libgomp/root.o: In function `main':
root.c:(.text+0x219c): undefined reference to `_app_main'
root.c:(.text+0x2298): undefined reference to `_app_main'
make: *** [o-optimize/app.exe] Error 1
这些测试使用的是libgomp,在libgomp.c中有一行:
extern int _app_main(int argc, char **argv, char **envp);
,主要定义为:
int main(int argc, char **argv, char **envp)
在测试文件中,还有另一个主要功能:
int main(int argc, char **argv)
可能是什么问题?
答案 0 :(得分:0)
由于第一个错误是“主要的多重定义”,您必须首先确定您拥有的2个主要功能中的哪一个是应用程序入口点。
仅作为一个入口点或主要功能的应用程序。