下载源码参选https://blog.csdn.net/quantum7/article/details安装LINUX用编译工具cmake, ninja交叉编译工具假设放在/usr/local/x86编写aarch64-oe.cmakeset(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR aarch64) # 高通OE交叉编译器前缀 set(TOOLCHAIN_PREFIX aarch64-oe-linux-) set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc) set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}g) set(CMAKE_AR ${TOOLCHAIN_PREFIX}ar) set(CMAKE_RANLIB ${TOOLCHAIN_PREFIX}ranlib) set(CMAKE_LIBRARY_ARCHIVER ${TOOLCHAIN_PREFIX}ar) # Sysroot路径 set(TOOLCHAIN_SYSROOT /usr/local/x86-aarch64-toolchain/sysroots/aarch64-oe-linux) set(CMAKE_SYSROOT ${TOOLCHAIN_SYSROOT}) # 交叉查找规则 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) # 编译flag适配高通AArch64 set(CMAKE_C_FLAGS -marcharmv8-a -O2 -Os) set(CMAKE_CXX_FLAGS -marcharmv8-a -O2 -Os -include limits)编译脚本#!/bin/bash set -e SOURCE_ROOT_PATHpwd TOOLCHAIN_PATH/usr/local/x86-aarch64-toolchain CROSS_NAMEaarch64-oe-linux CROSS_BIN${TOOLCHAIN_PATH}/sysroots/x86_64-qtisdk-linux/usr/bin/${CROSS_NAME} export PATH${CROSS_BIN}:${PATH} . ${TOOLCHAIN_PATH}/environment-setup-aarch64-oe-linux . ${TOOLCHAIN_PATH}/environment-setup-aarch64-oe-linux-sdllvm # 配置全局变量 TOOLCHAIN_FILE${SOURCE_ROOT_PATH}/aarch64-oe.cmake SYSROOT${TOOLCHAIN_PATH}/sysroots/aarch64-oe-linux PLATFORM_NAMEarm64 INSTALL_DIR$HOME/tangram_${PLATFORM_NAME}_install BUILD_DIRbuild_${PLATFORM_NAME} make clean rm -rf CMakeCache.txt CMakeFiles rm -rf ${INSTALL_DIR} # 清理构建目录 rm -rf $BUILD_DIR mkdir -p $BUILD_DIR cd $BUILD_DIR # CMake 完整参数 cmake .. \ -G Ninja \ -DCMAKE_TOOLCHAIN_FILE${TOOLCHAIN_FILE} \ -DCMAKE_INSTALL_PREFIX${INSTALL_DIR} \ -DCMAKE_FIND_ROOT_PATH${SYSROOT} \ -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGEONLY \ -DCMAKE_BUILD_TYPERelease \ -DRENDER_BACKENDNONE \ -DTANGRAM_PLATFORMNONE \ -DTANGRAM_ENABLE_3DOFF \ -DTANGRAM_USE_EGLOFF \ -DTANGRAM_USE_SDLOFF \ -DTANGRAM_USE_QTOFF \ -DTANGRAM_USE_GLFWOFF \ -DTANGRAM_USE_METALOFF \ -DTANGRAM_MBTILESON \ -DBUILD_SHARED_LIBSON # 编译安装 ninja -j$(nproc) ninja install检查结果echo 编译完成输出目录${INSTALL_DIR} ls -l ${INSTALL_DIR}/lib file ${SOURCE_ROOT_PATH}/${BUILD_DIR}/core/libtangram-core.so出错解决办法scanscalar.cpp error: expected primary-expression before ‘int’ max std::numeric_limitsint::max()-CSDN博客tangram-es/platforms/common/platform_gl.h:45:10: fatal error:GLFW/glfw3.h: No such file or directory-CSDN博客