AM335x的QT5开发环境搭建-开发板AM335x EVM

SDK版本是ti-processor-sdk-linux-am335x-evm-02.00.02.11-Linux-x86-Install.bin

QT creator版本是最新的qt-opensource-linux-x64-5.7.0.run

开发板是AM335x EVM


1、软件安装

注意:不要使用sudo指令来安装,这会导致很多权限配置问题

直接在终端里键入 ./ti-processor-sdk-linux-am335x-evm-02.00.02.11-Linux-x86-Install.bin完成SDK的安装

直接在终端里键入 ./qt-opensource-linux-x64-5.7.0.run完成QT的安装

2、准备环境变量

SDK的安装路径下,linux-devkit文件夹下面有一个environment-setup文件


键入命令 source ./environment-setup


可以看到命令终端提示符里有绿色字体的[linux-devkit]

我们可以用gedit打开environment-setup文件,看一看这个文件里都有些什么

SDK_PATH="/home/xinshangqiu/ti-processor-sdk-linux-am335x-evm-03.02.00.05/linux-devkit"
if [ -z "$ZSH_NAME" ] && [ "x$0" = "x./environment-setup" ]; then
    echo "Error: This script needs to be sourced. Please run as \". ./environment-setup\""
    exit 1
else
    if [ -n "$BASH_SOURCE" ]; then
        SDK_PATH="`dirname $BASH_SOURCE`"
    fi
    SDK_PATH=`readlink -f "$SDK_PATH"`
    export SDK_PATH
fi
export SDK_SYS=x86_64-arago-linux
export REAL_MULTIMACH_TARGET_SYS=armv7ahf-neon-linux-gnueabi
export TOOLCHAIN_SYS=arm-linux-gnueabihf
export TOOLCHAIN_PREFIX=$TOOLCHAIN_SYS-
export SDK_PATH_NATIVE=$SDK_PATH/sysroots/$SDK_SYS
export SDK_PATH_TARGET=$SDK_PATH/sysroots/$REAL_MULTIMACH_TARGET_SYS
export PATH=$SDK_PATH_NATIVE/usr/bin:$PATH
export CPATH=$SDK_PATH_TARGET/usr/include:$CPATH
export PKG_CONFIG_SYSROOT_DIR=$SDK_PATH_TARGET
export PKG_CONFIG_PATH=$SDK_PATH_TARGET/usr/lib/pkgconfig
export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
export CONFIG_SITE=$SDK_PATH/site-config-$REAL_MULTIMACH_TARGET_SYS
export CC=${TOOLCHAIN_PREFIX}gcc
export CXX=${TOOLCHAIN_PREFIX}g++
export GDB=${TOOLCHAIN_PREFIX}gdb
export CPP="${TOOLCHAIN_PREFIX}gcc -E"
export NM=${TOOLCHAIN_PREFIX}nm
export AS=${TOOLCHAIN_PREFIX}as
export AR=${TOOLCHAIN_PREFIX}ar
export RANLIB=${TOOLCHAIN_PREFIX}ranlib
export OBJCOPY=${TOOLCHAIN_PREFIX}objcopy
export OBJDUMP=${TOOLCHAIN_PREFIX}objdump
export STRIP=${TOOLCHAIN_PREFIX}strip
export CONFIGURE_FLAGS="--target=arm-linux-gnueabi --host=arm-linux-gnueabi --build=x86_64-linux --with-libtool-sysroot=$SDK_PATH_TARGET"
export CPPFLAGS=" -march=armv7-a -marm -mfpu=neon  -mfloat-abi=hard --sysroot=$SDK_PATH_TARGET"
export CFLAGS="$CPPFLAGS"
export CXXFLAGS="$CPPFLAGS"
export LDFLAGS=" --sysroot=$SDK_PATH_TARGET"
export OECORE_NATIVE_SYSROOT=$SDK_PATH_NATIVE
export OECORE_TARGET_SYSROOT=$SDK_PATH_TARGET
export OECORE_ACLOCAL_OPTS="-I $SDK_PATH_NATIVE/usr/share/aclocal"
export OECORE_DISTRO_VERSION="2016.10"
export OECORE_SDK_VERSION="2016.10"
export PS1="\[\e[32;1m\][linux-devkit]\[\e[0m\]:\w> "
export PATH=$SDK_PATH_NATIVE/usr/bin/qt5:$PATH
export OE_QMAKE_CFLAGS="$CFLAGS"
export OE_QMAKE_CXXFLAGS="$CXXFLAGS"
export OE_QMAKE_LDFLAGS="$LDFLAGS"
export OE_QMAKE_CC=$CC
export OE_QMAKE_CXX=$CXX
export OE_QMAKE_LINK=$CXX
export OE_QMAKE_AR=$AR
export OE_QMAKE_LIBDIR_QT=$SDK_PATH_TARGET/usr/lib
export OE_QMAKE_INCDIR_QT=$SDK_PATH_TARGET/usr/include/qt5
export OE_QMAKE_HOST_BINDIR_QT=$SDK_PATH_NATIVE/usr/bin/qt5/
export OE_QMAKE_MOC=$SDK_PATH_NATIVE/usr/bin/qt5/moc
export OE_QMAKE_UIC=$SDK_PATH_NATIVE/usr/bin/qt5/uic
export OE_QMAKE_UIC3=$SDK_PATH_NATIVE/usr/bin/qt5/uic3
export OE_QMAKE_RCC=$SDK_PATH_NATIVE/usr/bin/qt5/rcc
export OE_QMAKE_QDBUSCPP2XML=$SDK_PATH_NATIVE/usr/bin/qt5/qdbuscpp2xml
export OE_QMAKE_QDBUSXML2CPP=$SDK_PATH_NATIVE/usr/bin/qt5/qdbusxml2cpp
export OE_QMAKE_QT_CONFIG=$SDK_PATH_TARGET/usr/lib/qt5/mkspecs/qconfig.pri
export OE_QMAKE_STRIP="echo"
export QMAKESPEC=$SDK_PATH_TARGET/usr/lib/qt5/mkspecs/linux-oe-g++
export QMAKE_DEFAULT_LIBDIRS=${QT_QMAKE_LIBDIR_QT}
export QMAKE_DEFAULT_INCDIRS=${QT_QMAKE_INCDIR_QT}

可以看到这个environment-setup里面都是一些环境变量,里面很多跟QT有关

3、启动QT,配置交叉编译环境

cd 到QT的安装目录下,启动./qtcreator



然后就可以按照TI官方wiki中的步骤进行交叉编译配置了

wiki的链接http://processors.wiki.ti.com/index.php/Sitara_Linux_Training:_Hands_on_with_QT


4、测试工程

配置好QT的交叉编译环境后,新建工程时Kit Selection选择刚配好的交叉编译Kits

然后在ui文件里随便放了点控件

点击左下角的debug按钮,就可以看到程序在开发板上跑起来了



//笔者的错误经历:

笔者是个linux嵌入式开发小白

刚开始时,qt和sdk都是用了sudo安装上的,这导致qt配置sdk里的交叉编译时一直显示qmake未被正确安装(一直在寻求解决办法,最后发现锅在sudo上面)


5.每次用QT都要source ./environment-setup嘛?

当然可以不用,但这需要修改qt.conf文件

在SDK里,qmake的同意目录下有一个qt.conf文件,先备份成qt.conf_bak,然后用gedit打开

可以发现里面的都是一些环境变量,仔细观察,发现这些环境变量都在environment-setup文件里有定义。

参照environment-setup文件里面的环境变量将对应路径改成如下所示。然后就可以直接启动qtcreator,不用每次都去source ./environment-setup



20170504更新

QT5.6是长期支持版,于是便打算用Qt5.6进行安装开发

安装之后的第一个error:

Qt needs a compiler

解决办法:sudo apt-get install build-essential



安装之后的第二个error:
Cannot find -lGL

解决办法:sudo apt-get install libgl1-mesa-dev





你可能感兴趣的:(BeagleBone,Black学习笔记)