我已经阅读了关于这个主题的其他答案,不幸的是他们没有帮助我.我试图将几个c程序链接在一起,我收到错误响应:
$ gcc -o runexp.o scd.o data_proc.o -lm -fopenmp
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status
make: * [runexp] Error 1
Run Code Online (Sandbox Code Playgroud)
我只有一个主要功能,它在runexp.表格是
int main(void) {
...;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有关为什么我会收到此错误的任何想法?谢谢!
VHa*_*avy 25
您应该在-o选项后提供输出文件名.在您的情况下runexp.o被视为输出文件名,而不是输入对象文件,因此您的main函数是未定义的.
您没有包含main()编译时包含的C文件,因此链接器没有看到它.
你需要添加它:
$ gcc -o runexp runexp.c scd.o data_proc.o -lm -fopenmp
Run Code Online (Sandbox Code Playgroud)