如何将目录永久添加到GCC包括搜索路径?

时间:2011-03-31 00:05:33

标签: c header include

我正在运行OSX 10.6.6。我安装了Apples GCC-版本4.2.1。我正在给自己写一个很好的小库 - 用于调试,数据存储算法等。我已将所有标题和.c文件存储在我的C文件夹中名为“mylib”的漂亮小文件夹中。我想将该文件夹添加到GCC搜索路径,以便我可以键入,例如

/* ... */

    #include <mylib/debug.h>

/* ... */

让它完美运作。如何将/ Users / Henry / coding_stuff / c / include / mylib添加到GCC搜索路径,或者引用/ usr / include中的文件夹?每次我做一个微不足道的改变时,我都不想用/ usr / include / mylib替换我的C文件夹中的那个。那么,它怎么做呢?

4 个答案:

答案 0 :(得分:2)

符号链接将起作用:

sudo ln -s /Users/Henry/coding_stuff/c/include/mylib /usr/include/mylib

解决此问题的一种更传统的方法是使用编译器的-I标志来添加搜索路径:

gcc -I /Users/Henry/coding_stuff/c/include/mylib -c -o example.o example.c

答案 1 :(得分:0)

您需要将环境变量LD_LIBRARY_PATH设置为等于路径。最有可能出现在.bashrc中。

export LD_LIBRARY_PATH=/path/to/libs

对不起,这实际上应该是LIBRARY_PATH用于构建; LD_LIBRARY_PATH用于运行时库链接。

export LIBRARY_PATH=/path/to/libs

答案 2 :(得分:0)

添加到您的.bashrc

export INCLUDE_PATH=/Users/Henry/coding_stuff/c/include/mylib

答案 3 :(得分:0)

我正在使用Ubuntu14.04和gcc。

gcc将C_INCLUDE_PATH添加到搜索目录列表中。 您可以使用-v选项查看gcc实际搜索的位置。 (INCLUDE_PATH对我不起作用。)

因此,您可以将以下内容添加到.bashrc

export C_INCLUDE_PATH=/Users/Henry/coding_stuff/c/include/mylib

我找到了官方文档:https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html