如何在GNU中创建自定义库?我的意思是:
当我们使用#include< stdio.h中>和printf
我们可以用gcc main.c编译它。
现在我创建自定义标头和.a / .so库文件,我知道我可以设置环境变量C_INCLUDE_PATH并包含我的头文件#include<>而不是#include""。但是,我仍然需要用
编译它gcc main.c -o program -L / whatever / -lwahtever
(如果使用.so,则设置环境变量)
是否有可能使其表现得像#include< stdio.h中>我不需要在路径中包含相应的命令行参数?
答案 0 :(得分:0)
您实际上不需要-L/whatever/
,只需-lwhatever
。第一个选项提供了库的路径,但您已使用#include
并修改C_INCLUDE_PATH
来处理该路径。第二个选项告诉链接器将可执行文件链接到哪个库。这方面的一个例子是当使用C数学库中的函数#include <math.h>
时,但是为了编译,你仍然需要链接器选项-lmath
。所以回答你的问题,没有。您可以删除第一个选项,但必须保留第二个选项。