为Xilinx Zynq Linux编译JUCE GUI应用程序

时间:2019-02-22 15:24:28

标签: cross-compiling zynq

我尝试交叉编译Xilinx Zynq平台的GUI应用程序。 GUI本身是由JUCE框架创建的。

Zynq是armv7l平台,我的编译主机是x86_64。 Xilinx为SDK提供了一个带有特定平台编译器(arm-linux-gnueabihf- *)和预建包含目录的工具链。我将这个includepath用于我的项目。

要为Linux环境编译JUCE应用程序,请创建一个特定的makefile。在该文件中,pkg-config调用将收集/收集JUCE特定代码的所有必需的包含路径。

我修改后的JUCE makefile总共包含以下几行:

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变量,则会在工具链范围之外的/ usr / include中看到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__’

我的Xilinx工具链中没有floatn.h。我该如何解决这个问题?

0 个答案:

没有答案