对_app_main的未定义引用

时间:2013-07-12 21:42:10

标签: openmp libgomp

我正在尝试使用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)

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

由于第一个错误是“主要的多重定义”,您必须首先确定您拥有的2个主要功能中的哪一个是应用程序入口点。

仅作为一个入口点或主要功能的应用程序。