我正在尝试使用 freeglut2 在 OpenGL 中渲染文本。当我包含以下标题时,
#include <freetype2/ft2build.h>
它给出以下错误:
/usr/local/include/freetype2/ft2build.h:37:38: fatal error: freetype/config/ftheader.h: No such file or directory
但是当我转到
/usr/local/include/freetype2/freetype/config
时,我找到了文件ftheader.h。
请帮我解决这个问题。谢谢你。
我去了this,但没有任何效果。
您的编译器会在
/usr/local/include
中搜索包含内容,因此当您这样做时:
#include <freetype2/ft2build.h>
它找到了
/usr/local/include/freetype2/ft2build.h
但是这个文件试图包含
freetype/config/ftheader.h
但没有
/usr/local/include/freetype/config/ftheader.h
但是
/usr/local/include/freetyp2/freetype/config/ftheader.h
所以你应该将
-I/usr/local/include/freetyp2
传递给你的编译器并执行一个
#include <ft2build.h>
要正确。
如果您的系统支持 - 使用
pkg-config
实用程序,它可以提供所有编译标志,例如:
$ pkg-config --cflags freetype2
-I/usr/include/freetype2
$ pkg-config --libs freetype2
-lfreetype
阅读本文档:http://freetype.org/freetype2/docs/tutorial/step1.html#section-1
您需要将 /usr/local/include/freetype2 添加到您的包含路径中。
然后将 ft2build.h 添加到:
#include <ft2build.h>
然后当 ft2build.h 包含 freetype/config/ftheader.h 时,它将在包含路径中的 freetype2 目录中查找并找到它。