我知道已经有一些关于此的帖子,但我似乎无法正确理解。
我正在使用 geany 和 gcc 开发一个共享项目。文件结构如下所示:
`/Documents/.../project/ main directory of project with makefile`
`/Documents/.../project/src here are some sourcefiles and headers`
`/Documents/.../project/src/extended here are some other source and header files`
`/Documents/.../project/src/tools other header and source files`
现在假设我正在/tools 中处理一个源文件,其中包含来自扩展的
#include“/extended/some_header.h”
因为我的 makefile 配置为从 /src
搜索文件。但是,当我尝试编译我现在正在处理的文件时(通过使用仅调用 gcc 的 geany 编译选项),我显然无法编译它,因为它无法在/src
文件夹。我尝试过添加
-iquotes/Documents/.../project/src
geany 的 gcc 调用,但它也不起作用。
最佳答案
-I
标志告诉 gcc
编译器应该在哪里查找头文件。将 -Idir
传递给编译器是将 dir
路径附加到搜索列表的头部,有效地使该路径比先前(或系统)定义的路径具有更高的优先级。至于源路径 - gcc 本身没有这样的选项。传递给编译器的每个源文件都必须具有其路径(绝对或相对)。为了解决这个问题,可以提供一个Makefile
,定义要编译的文件列表。
关于c - 将自定义路径添加到 gcc 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30850267/