g cc не может найти FT_Error_String при попытке компиляции - PullRequest
0 голосов
/ 06 мая 2020


Я пытаюсь скомпилировать приложение, использующее freetype2 , я скачал и скомпилировал последнюю версию freetype2 с официального сайта.
Я компилирую программу используя эту команду:

gcc ttf2sfn.c -I/home/emilia/os/freetype-2.10.1/include -L/home/emilia/os/freetype-2.10.1/objs -lfreetype

Однако компоновщик не может найти символ FT_Error_String.
Он выводит это сообщение об ошибке:

/tmp/cc6FGxyc.o: In function `main':
ttf2sfn.c:(.text+0x25aa): undefined reference to `FT_Error_String'
ttf2sfn.c:(.text+0x352c): undefined reference to `FT_Error_String'
collect2: error: ld returned 1 exit status

Почему это происходит? Спасибо.

1 Ответ

0 голосов
/ 07 мая 2020

Кажется, на самом деле этого не существует. Я использую свою собственную функцию под названием ftstrerror, чтобы сделать что-то эквивалентное:

static const char *ftstrerror(FT_Error error)
{
#undef FTERRORS_H_
#define FT_ERRORDEF(error_code, value, string) case error_code: return string;
#define FT_ERROR_START_LIST switch(error) {
#define FT_ERROR_END_LIST default: return "Unknown error"; }
#include FT_ERRORS_H
}
...