- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
来自 PHP,这是我第一次使用 C/C++(所以请放轻松)。我正在关注 this tutorial使用 FreeType 库编写一个简单的脚本。以下编译就好了:
#include <ft2build.h>
#include FT_FREETYPE_H
main() {
FT_Library library;
FT_Face face;
}
这告诉我 FreeType 库可随时供编译器使用。但是,一旦我尝试使用任何方法,事情就会破裂。例如,采用以下脚本:
#include <ft2build.h>
#include FT_FREETYPE_H
main() {
int error;
FT_Library library;
error = FT_Init_FreeType(&library);
if (error) {}
FT_Face face;
error = FT_New_Face(library, "/usr/share/fonts/truetype/arial.ttf", 0, &face);
if (error == FT_Err_Unknown_File_Format) {
printf("Font format is unsupported");
} else if (error) {
prinft("Font file is missing or corrupted");
}
}
此脚本在编译时产生以下错误:
#gcc render.c -I/usr/include/freetype2
/tmp/cc95255i.o: In function `main':
render.c:(.text+0x10): undefined reference to `FT_Init_FreeType'
render.c:(.text+0x30): undefined reference to `FT_New_Face'
collect2: ld returned 1 exit status
有什么想法吗?
最佳答案
那些是链接错误。如果他们在演示中包含 Makefile,您最好使用它。否则,您需要在编译命令行中添加 -L 和 -l 选项,以便编译器(实际上是链接器,由编译器在后台调用)知道在哪里可以找到 FreeType 库。
-L 选项给出库代码所在的路径。例如
-L/usr/local/lib
-l 选项给出库的名称。以 -l 选项命名的库以缩写形式指定,即您省略了前面的“lib”和后面的“.a”。因此,例如,如果 FreeType 库存储在文件 libfreetype.a 中,它将在 -l 选项中显示为
-lfreetype
例如:
gcc render.c -I/usr/include/freetype2 -L/usr/local/lib -lfreetype
关于c - FreeType 库和 "Undefined reference to FT_Init_FreeType",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12312034/
我应该在 Controller 上运行 run freetype。我已将包含路径目录添加到编译包含路径中。我正在使用 Green Hills 的 MULTI 调试器,它将代码闪烁到 Controlle
我目前正在尝试学习如何使用 FreeType2 库通过 OpenGL 绘制字体。但是,当我启动程序时,它立即崩溃并出现以下错误:“(无法正确启动应用程序(0xc000007b))” 评论 FT_Ini
来自 PHP,这是我第一次使用 C/C++(所以请放轻松)。我正在关注 this tutorial使用 FreeType 库编写一个简单的脚本。以下编译就好了: #include #include
我是一名优秀的程序员,十分优秀!