LINUX.ORG.RU

FreeType2 inlude


0

1

Всем доброго времени суток.
Работаю с FreeType под Windows mingw. Написал небольшую пробную прогу. Все нормально скомпилилось.

Подключаю вот так:

#include <freetype/config/ftheader.h>
#include <freetype/freetype.h>
#include <freetype/ftglyph.h>
#include <freetype/ftoutln.h>
#include <freetype/fttrigon.h>

Теперь пытаюсь скомпилить её под Линукс (Алт).
Компилятор ругается:

In file included from Units/FreeType.cxx:8,
from Units/Game.cxx:8,
from main.cxx:8:
/usr/include/ft2build.h:56:38: error: freetype/config/ftheader.h: Нет такого файла или каталога
In file included from Units/Game.cxx:8,
from main.cxx:8:
Units/FreeType.cxx:10:31: error: freetype/freetype.h: Нет такого файла или каталога
Units/FreeType.cxx:11:30: error: freetype/ftglyph.h: Нет такого файла или каталога
Units/FreeType.cxx:12:30: error: freetype/ftoutln.h: Нет такого файла или каталога
Units/FreeType.cxx:13:31: error: freetype/fttrigon.h: Нет такого файла или каталога
In file included from Units/Game.cxx:8,
from main.cxx:8:
Units/FreeType.cxx:44: error: variable or field ‘make_dlist’ declared void
Units/FreeType.cxx:44: error: ‘FT_Face’ was not declared in this scope
Units/FreeType.cxx:44: error: ‘FT_ULong’ was not declared in this scope
Units/FreeType.cxx:44: error: expected primary-expression before ‘list’
Units/FreeType.cxx:44: error: expected primary-expression before ‘txt’


Посмотрел папку где эти хедеры лежат. Оказалось, что они лежат не в /freetype, а в /freetype2/freetype, т.е. на уровень выше чем надо. Попробовал руками и через консоль перетащить папки: не достаточно прав это сделать.

Я с Линуксом только начинаю знакомиться, поэтому заранее извиняюсь за нубизм. Помогите пожалуйста, как правильно подключать FreeType в моём случае и стоит ли там вообще папки перемещать?

Если cmake используется, то там find_package. Если сами makefile пишите или в консольке балуетесь, то pkg-config нужно использовать.

kulti ★★
()
Ответ на: комментарий от kulti

Я его юзаю:
c++ main.cxx -o game `sdl-config --libs --cflags` -lGL -lGLU -lSDL_ttf -lSDL_image -lfreetype

Babikov
() автор топика

к сборке добавь к опциям компилятора опцию -Iпуть_к_freetype2_заголовкам (дефис, i заглавная, затем путь), например
-I/usr/include/freetype2
т.е. команды сборки будут выглядеть примерно так:
gcc <тут опции пропущены> -I/usr/include/freetype2 <ещё всякие опции>

anonymous
()

> стоит ли там вообще папки перемещать?
Не стоит.

Raving_Zealot ★★
()
Ответ на: комментарий от Raving_Zealot

Кстати да, совсем забыл, давно с freetype не работал. Там советуют подключать заголовки именно так, с использованием макросов.

anonymous
()
Ответ на: комментарий от Raving_Zealot

Огромное спасибо за советы. Помогло `freetype-config --cflags --libs`.

Babikov
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.