Я портирую свое приложение Qt на Linux для архитектуры x86, и, поскольку последний официальный выпуск для этой платформы - 5.5, я пытаюсь сделать свою собственную сборку Qt 5.11.3.Я хочу использовать fontconfig, чтобы разрешить использование системных шрифтов.Моя сборочная платформа - Centos 7.5, и я использую набор инструментов GCC, который собирает двоичные файлы x86 с ключом -m32.Проблема в том, что я не могу увидеть библиотеку fontconfig.Я установил его с пакетом fontconfig-devel-2.13.0-4.3.el7.i686
При запуске configure с параметром -fontconfig я получаю следующее сообщение об ошибке:
ОШИБКА: функция 'fontconfig' была включена, но предварительное условие '! Config.win32 && features.system-freetype && libs.fontconfig' не удалось.
Насколько я понимаю, яЯ должен использовать -system-freetype и не могу использовать -qt-freetype, но когда я пытаюсь это сделать (также с -feature-freetype), я получаю это сообщение:
ОШИБКА: Feature 'system-freetype 'был включен, но предварительное условие' features.freetype && libs.freetype 'не выполнено.
Соответствующие сообщения в config.log:
looking for library freetype
Trying source 0 (type pkgConfig) of library freetype ...
pkg-config use disabled globally.
=> source produced no result.
Trying source 1 (type freetype) of library freetype ...
+ cd /home/myuser/qt-build/config.tests/freetype && /home/myuser/qt-build/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" -early "CONFIG += cross_compile" 'LIBS += -lfreetype' /home/myuser/qt-build/config.tests/freetype
+ cd /home/myuser/qt-build/config.tests/freetype && MAKEFLAGS= /usr/bin/gmake
> g++ -c -m32 -pipe -O2 -std=gnu++11 -w -fPIC -I. -I/home/myuser/qt-everywhere-src-5.11.3/qtbase/mkspecs/linux-g++-32 -o main.o main.cpp
> main.cpp:2:22: fatal error: ft2build.h: No such file or directory
> #include <ft2build.h>
> ^
> compilation terminated.
> gmake: *** [main.o] Error 1
=> source failed verification.
test config.qtbase_gui.libraries.freetype FAILED
СейчасЯ также получаю это сообщение:
ПРЕДУПРЕЖДЕНИЕ: кросс-компиляция без sysroot.Отключение pkg-config
, которое, как я понимаю, является источником сбоя «source 0».Я, однако, попытался указать вручную настроить указатель на каталог включения freetype, передав FREETYPE_INCDIR = / usr / include / freetype2 для настройки;однако, как видно из файла журнала, это значение, по-видимому, не используется при обнаружении freetype.
Я упустил здесь трюк или скрипты конфигурирования не работают?И если это последнее, есть ли способ обойти это?
РЕДАКТИРОВАТЬ: Для полноты, среда для запуска configure:
CFLAGS=-m32
CXXFLAGS=-m32 --std=c++1x
Настроить флаги:
-opensource
-xplatform linux-g++-32
-nomake tests -nomake examples -nomake tools
-prefix /home/myuser/qt_install/
-qpa xcb
-no-use-gold-linker
-icu ICU_PREFIX=/home/myuser/icu_install ICU_LIBS="-licui18n -licuuc -licudata"
-no-opengl
-fontconfig -feature-freetype -system-freetype FREETYPE_INCDIR=/usr/include/freetype2