自己的C语言文件,如何像系统.h文件一样调用

kinglw001 2013-06-05 03:29:32
在一个很大的C工程,他们的build写得很复杂.

他们里边用了一个自己.h文件,可以直接#include <myheader.h>这样用,当然不是直接拷到usr/include什么下的,而是通过编译的时候加选项.
.h文件我已经会了,是用-I,包含这个文件的路径就行.
我自己这样试,但编译的时候还说某某函数没定义,我想myheader.c生成的.o文件也应该在编译的时候指明路径.
我上网找了,是-L$(指定路径),提前生成的myheader.o文件放进去,这样编译,还是报函数未定义的错.

我想,是不是一定要生成.so文件啊? 我看原工程,他们是好多个.h/.c只生成了一个.so文件啊,这个要怎么弄呢?
...全文
296 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
AnYidan 2013-06-05
  • 打赏
  • 举报
回复
引用 7 楼 mrlgy 的回复:
环境变量可以不
编译器中可以制订.h, .c 文件的路径
mrlgy 2013-06-05
  • 打赏
  • 举报
回复
环境变量可以不
kinglw001 2013-06-05
  • 打赏
  • 举报
回复
引用 5 楼 zyaiwx 的回复:
[quote=引用 3 楼 kinglw001 的回复:] [quote=引用 2 楼 whizer 的回复:] 如果.c和.h比较多,建议自己写makefile. 如果想模块化动态地包含要编译的模块,建议参考linux的mkconfig.
是自己写Makefile啊,如何让自己的.h变成可以用<>来引用[/quote] 自己写的用“”引用就好了,除非你把.h放到默认目录下,否则不能用<>[/quote] 人家工程就是这么用的,默认有些经常用的库用<>引用
zybjtu 2013-06-05
  • 打赏
  • 举报
回复
引用 3 楼 kinglw001 的回复:
[quote=引用 2 楼 whizer 的回复:] 如果.c和.h比较多,建议自己写makefile. 如果想模块化动态地包含要编译的模块,建议参考linux的mkconfig.
是自己写Makefile啊,如何让自己的.h变成可以用<>来引用[/quote] 自己写的用“”引用就好了,除非你把.h放到默认目录下,否则不能用<>
十八道胡同 2013-06-05
  • 打赏
  • 举报
回复
如果文件很多,可以见一个静态或者动态链接库,把这些文件放里面,其他项目来调用这个库 没定义可能是因为他看不到你的定义,默认情况下 你的h文件的名字.h 和 你的h文件的名字.cc or 你的h文件的名字.cpp 是对应的
kinglw001 2013-06-05
  • 打赏
  • 举报
回复
引用 2 楼 whizer 的回复:
如果.c和.h比较多,建议自己写makefile. 如果想模块化动态地包含要编译的模块,建议参考linux的mkconfig.
是自己写Makefile啊,如何让自己的.h变成可以用<>来引用
whizer 2013-06-05
  • 打赏
  • 举报
回复
如果.c和.h比较多,建议自己写makefile. 如果想模块化动态地包含要编译的模块,建议参考linux的mkconfig.
zhangwuji154 2013-06-05
  • 打赏
  • 举报
回复

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧