我有几个问题,包括我的程序中的自定义库
我有我的main.c
文件和library.c
(存储所有函数)和library.h
(存储所有原型)。
在main.c
我放置了#include "library.h"
但是当我尝试编译时,函数没有被识别。
难道我做错了什么?
我正在使用GCC来构建文件。
test.c的:
#include "library.h" int main() { int num = 5; sum(num); }
LIBRARY.C
#include "library.h" int sum(int num) { return num + 5; }
library.h
#ifndef LIBRARY_H #define LIBRARY_H #include int sum(int num); #endif
得到错误:
C:用户加布里埃尔桌面 test.o:test.c的|| 未定义的引用`sum’|
包括头文件是不够的。 头文件中的原型只是告诉编译器应该有一个函数。
您必须实际将该function添加到该程序。 这是在链接时完成的。 最简单的方法
gcc -o myprog test.c library.c
有更复杂的选择。 如果要将多个文件实际添加到库中,可以单独编译它们并构建存档。 以下是一些显示基本概念的命令。
gcc -o library.o library.c gcc -o someother.o someother.c ar a libmy.a library.o someother.o gcc -o myprog test.c -l my
以上就是c/c++开发分享在C中使用头文件相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/549970.html