我是否需要明确包含共享库中使用的公共头文件(在包含路径文件夹中)?

我正在使用共享库,比如shr.so 这有一些头文件,比如shr_struct.h ,我需要在我的程序中使用的结构,比如shr_struct.h

我是否需要在include路径中保留shr_struct.h的副本, shr_struct.hshr_struct.h中的shr_struct.h中声明结构类型的对象?

如果shr_struct.h依赖于shr_struct.h ,编译器将需要知道最后一个文件的位置。

现在,如果库安装在系统“标准”库路径中,则可能不必将此路径显式添加到编译器命令,因为它可能足够智能以自行搜索标准系统路径。