使用尖括号 声明标题

使用尖括号  声明标题

以 SDL 库为例,必须指向其代码开头的标题,如下所示:

#include <SDL/SDL.h> 

并且,例如,当使用 GCC 进行编译时,该库必须包含在内:

gcc project.cpp -o project -l/path/to/library/SDL

那么,当您开发包含特定库的程序时,头文件和库应该放在哪里,以便 GCC 能够识别从哪里提取这些信息?它们是否必须存储在 usr 目录中,或者您可以告诉 GCC 指向您想要的任何位置?

这是针对 Ubuntu 上的开发的,因为这是我正在开发的平台,但任何 *nix 平台都可能类似。

答案1

GCC 编译器将根据你声明头的方式来查找头文件,因此有两种可能

使用尖括号 <> 声明标题

#include <math.h>

在这种情况下,编译器将在 Ubuntu 中的默认系统头文件位置中进行搜索

  • /usr/local/include
  • /usr/target/include
  • /usr/include

因此,如果您所需的库在其中一个位置有它的头文件,GCC 应该会默认找到它。

使用“ ”声明标题

#include "myheader.h"

或者

#include "myheaders/header.h"

在这种情况下,编译器将查找与 .c 文件相同的目录,除非你使用选项告诉 gcc 查找其他-Idir地方

更多信息可以参阅这篇文章gribblelab.org 上的编译、链接、Makefile、头文件

相关内容