我正在试图弄清楚如何将标题库和目标文件添加到标准库中,以便我可以像使用标准库一样轻松使用我的自定义文件。
目前我必须在.c文件中键入头文件的路径,然后在编译时链接目标文件路径。
我想能够添加:
#include <mystdlib.h>
并且不用担心像我在引用stdio.h头文件时那样链接目标文件。
我已经四处寻找,但我担心我没有使用正确的术语,因为我似乎找不到我需要的结果。我是第一个想要这样做的人,或者这是不可能的,因此人们甚至不尝试?
答案 0 :(得分:3)
gcc
使用环境变量C_INCLUDE_PATH
和LIBRARY_PATH
来查找标头和库文件。将它们设置在某处(例如,您的bash_profile)
应达到您所描述的目的:
export C_INCLUDE_PATH="$HOME/include"
export LIBRARY_PATH="$HOME/lib"
或者,-I
和-L
标志分别将目录添加到要搜索头文件和库文件的目录列表中。
编辑:如下面的@ChrisStratton所述,需要明确指定库名称或目标文件。 AFAIK,没有办法让gcc始终链接到一个库(比如libc
)。
来源:
https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html