c - 我是否需要显式包含共享库中使用的通用头文件(在包含路径文件夹中)?

标签 c compiler-construction linker shared-libraries header-files

我正在使用共享库,例如shr​​.so。其中有一些头文件,例如 shr​​_struct.h,其中包含我需要在程序中使用的结构,例如 main_prog.c

我是否需要在包含路径中保留 shr​​_struct.h 的副本,以便我可以在 main_prog 中的 shr​​_struct.h 中声明结构类型的对象.c

最佳答案

如果您的 main_prog.c 依赖于 shr​​_struct.h,编译器将需要知道最后一个文件的位置。

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

关于c - 我是否需要显式包含共享库中使用的通用头文件(在包含路径文件夹中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17043228/

相关文章:

c - 如何将二进制文件读入C中的结构

C 读取字符串

c++ - 我在哪里可以获得 gcc.exe(已编译)版本 4.7.0?

c - 标准 C 库和系统调用如何协同工作?

c++ - 将 Fortran 子例程链接到 C++ 程序时出错

C++ 链接器 - 缺少重复符号

c - gcc -Wpadded 不提供任何警告

python - 使用 hydras 定义结构数组

c - 如果库中的公开结构发生更改,使用它的应用程序是否必须重新编译?

c++ - 让本地符号走向全局