包含子目录中的 G++ 头文件

g++ header files in include subdirectory

本文关键字:文件 G++ 子目录 包含      更新时间:2023-10-16

我通过调用freetype2/ft2build.h头文件来包含freetype2库。

#include <freetype2/ft2build.h>
头文件

本身调用子目录中的另一个头文件。

#include <config/ftheader.h>

这会导致"制造"失败。

/usr/include/freetype2/ft2build.h:37:29: fatal error: config/ftheader.h: No such file or directory
#include <config/ftheader.h>

'config' 子目录位于 'freetype2' 中,但编译器显然在/usr/include 目录中寻找它。

我找不到解决这个问题的方法,但我不可能是唯一受影响的人。我错过了什么?

我尝试将INCLUDE=-I/usr/include/freetype2/config添加到生成文件中,但这不起作用。

制作文件如下

INCLUDE=-I/usr/include/freetype2
CC=g++
LDLIBS=-lglut -lGLEW -lGL
all: main
clean:
    rm -f *.o main
.PHONY: all clean
我认为

您需要替换

#include <freetype2/ft2build.h>

#include <ft2build.h>

和使用

INCLUDE=-I/usr/include/freetype2

在生成文件中

更改了我的 Mkefile。

CPPFLAGS=-I/usr/include/freetype2  -I/usr/include/freetype2/config
CC=g++
LDLIBS=-lglut -lGLEW -lGL
all: main
clean:
    rm -f *.o main
.PHONY: all clean

从包含到CPPFLAGS。