【发布时间】:2017-09-20 09:25:45
【问题描述】:
所以我创建了目标文件
cc -c MAIN.C
cc -c tablero.c
但是当我尝试将它们链接到可执行文件时
cc MAIN.o tablero.o
我明白了
undefined reference to `asdf()'
(在 tablero.c 中定义并在 MAIN.C 中调用的函数)
这是我的文件:
我有 MAIN.C
#include <stdio.h>
#include <cstring>
#include "tablero.h"
int main()
{
int c;
printf( "Enter a value :");
c = getchar( );
putchar(c);
printf( "\nYou entered: ");
c = asdf ();
putchar(c);
return 0;
}
我有 tablero.h
#ifndef TABLERO_H_
#define TABLERO_H_
int asdf();
#endif // TABLERO_H_
我有 tablero.c
#include "tablero.h"
int asdf() {return 48;}; //48 is 0 in ascii
【问题讨论】:
-
在我的系统上工作(ubuntu gnome 16.04,虽然我不得不删除 cstring)
-
请注意,
<cstring>是 C++ 标头,而不是 C 标头。不过,不清楚您是否需要它——不管是什么语言。 -
@PriyeshKumar:你真的将文件命名为“MAIN.C”而不是“MAIN.c”吗?
-
是的,我错过了。我用的是小c
-
+1 用于实际显示完整的最小示例和实际的文件名和命令,包括大小写和所有内容!
标签: c