include包含了头文件,但没包含源文件,就报错
时间: 2023-09-27 21:06:57 浏览: 70
include头文件
3星 · 编辑精心推荐
头文件中声明了函数、变量、宏等信息,但是这些信息并没有被编译进程序中。如果在程序中使用了头文件中声明的函数或变量,编译器就需要找到对应的源文件实现,将其编译链接到程序中。
因此,如果你只包含了头文件,而没有将对应的源文件编译链接到程序中,就会出现“未定义引用”错误。
解决方法:
1. 将头文件和对应的源文件都包含在编译命令中,例如:
```
gcc main.c source.c -o program
```
2. 将源文件编译成静态库或动态库,然后在编译程序时链接库文件,例如:
```
gcc main.c -L. -lsource -o program
```
这里假设源文件编译成了名为`libsource.a`或`libsource.so`的库文件,并且库文件位于当前目录`.`
`-L.`表示要在当前目录中查找库文件,`-lsource`表示要链接名为`libsource.a`或`libsource.so`的库文件。
阅读全文