c - gcc在c中包含相对于彼此的子目录中的源文件
问题描述
我在编译一些 c 代码时遇到问题。
我有如下代码结构
- 主程序
- 源代码
- 线
- 线.h
- 线.c
- 线
可在此处获取:https ://github.com/Vafilor/c_includes
main.c
包括#include "src/line/line.h"
src/line/line.c
包括#include "src/line/line.h"
当我尝试gcc main.c src/line/line.c
在 ubuntu 20.4 上编译它时
我收到这个错误
src/line/line.c:1:10: fatal error: src/line/line.h: No such file or directory
1 | #include "src/line/line.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
我怎样才能让它编译?
附加信息:
我一直在查看https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/上的 bluez 代码, 它们与
client/main.c
- 包括 shell.hsrc/shared/shell.c
- 包括 shell.hsrc/shared/shell.h
所以我试图弄清楚它是如何为他们的代码库工作的。
解决方案
推荐阅读
- android - 如何使用代码重新初始化设备,通过 USB 连接到 android 设备?
- c++ - C++寻找第n个素数
- python - 100K+ 行数据集中的日期时间差(以秒为单位)
- python - Function("last name, first name") 报告:TypeError: can only concatenate str (not "int") to str
- python - 如何检查 Winium 中的元素
- pandas - 根据第一行的条件分组并应用 lambda - Pandas
- c# - 程序集清单不匹配包安装无法解决
- c++ - 确保静态布尔检查的线程安全
- c# - 匹配正则表达式中字符之间的所有内容?
- javascript - 将对象添加到 JSON