Скомпилировать приложение JUCE GUI для Xilinx Zynq Linux - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь кросс-компилировать приложение с графическим интерфейсом для платформы Xilinx Zynq.Сам GUI создается фреймворком JUCE.

Zynq - платформа armv7l, мой компилятор - x86_64.Xilinx предоставляет SDK с набором инструментов со специальными компиляторами платформы (arm-linux-gnueabihf- *) и предустановленным каталогом include.Я использую этот includepath для своего проекта.

Для компиляции приложения JUCE для сред Linux создается специальный make-файл.В этом файле вызов pkg-config соберет / соберет все необходимые пути включения для конкретного кода JUCE.

Вместе мой модифицированный make-файл JUCE содержит следующие строки:

CPPFLAGS += -I/opt/Xilinx/SDK/2018.2/gnu/aarch32/lin/gcc-arm-linux-gnueabihf/include/c++/7.2.1
JUCE_CPPFLAGS := ... $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) ...
JUCE_CPPFLAGS += $(CPPFLAGS)
CXX := arm-linux-gnueabihf-g++

Если япосмотрите на сгенерированную переменную JUCE_CPPFLAGS, которую я вижу, включает include из / usr / include вне моей области набора инструментов.Это приводит меня к компиляции ошибок, таких как

In file included from /opt/Xilinx/SDK/2018.2/gnu/aarch32/lin/gcc-arm-linux-gnueabi/arm-linux-gnueabihf/libc/usr/include/math.h:38:0
    /usr/include/x86_64-linux-gnu/bits/floatn.h:75:70: error: unknown machine mode ‘__TC__’

Файл floatn.h отсутствует в моей цепочке инструментов Xilinx.Как я могу решить эту проблему?

...