[牛人杂谈] 【N32926/N32916】QT系统的编译

[复制链接]
 楼主| xixi2017 发表于 2017-4-9 13:36 | 显示全部楼层 |阅读模式
本帖最后由 xixi2017 于 2017-4-9 13:47 编辑

最近拿到新塘(nuvoton)的Linux方案,整体还行,只是资料整理的不是那么齐全,网上的资料很少,

N32926/N32916系列的Linux解决方案的性价比相对同级别的ARM9系列来说是最高的,内部集成了

64M的DDDR,足够Linux+QT应用,以下内容讲述了基于N32916/N32926平台的QT的编译。

新塘提供的交叉编译工具链中有一个名为arm_linux_4.2_install.sh的安装脚本,该脚本将arm linux编译

工具链释放到了/usr/local目录下,并且在/etc/profile.d目录下生成文件nvt_arm_linux.sh文件,

该文件被/etc/profile文件在Linux系统启动时自动调用执行,编译QT使用的是4.3版本的GCC,目录为

/usr/local/arm_linux_4.3,我修改了nvt_arm_linux.sh目录的内容,内容如下:


  1. export ARM_TOOL_ROOT="/usr/local"
  2. export ARM_TOOL_NAME="arm_linux_4.3"
  3. export ARM_TOOL_SUBDIR="usr/bin"
  4. export ARM_TOOL_PATH="$ARM_TOOL_ROOT/$ARM_TOOL_NAME/$ARM_TOOL_SUBDIR"
  5. export MY_CC_TOOLCHAIN="${ARM_TOOL_ROOT}/${ARM_TOOL_NAME}/usr"
  6. export MY_CC_STAGING="$HOME/N32926/QT/desktop_build"
  7. export MY_CC_QT4_DIR="/usr/local/Trolltech"
  8. export MY_CC_QT4_PREFIX=${MY_CC_QT4_DIR}/Qtembedded-4.8.5
  9. export QT4_TOOL_PATH=${MY_CC_QT4_PREFIX}/bin
  10. export PATH=${PATH}:${ARM_TOOL_PATH}:${QT4_TOOL_PATH}
  11. export QMAKESPEC=${MY_CC_QT4_PREFIX}/mkspecs/qws/linux-n3292x-g++
复制代码

我配置了GCC工具为arm_linux_4.3,QT安装目录为~/usr/local/Trolltech/Qtembedded-4.8.5

在后续的实际项目是将会对以上目录进行修改,以上修改后需要重启Linux Mint系统。



 楼主| xixi2017 发表于 2017-4-9 13:47 | 显示全部楼层

随后我解压了QT的压缩包 qt4.8.5-n329-port-2015.03.27.tar.gz

我编写了make脚本,内容如下:


  1. ./configure \
  2. -prefix ${MY_CC_QT4_PREFIX} \
  3. -release \
  4. -opensource \
  5. -confirm-license \
  6. -static \
  7. -qconfig n3292x \
  8. -no-exceptions \
  9. -no-accessibility \
  10. -no-stl \
  11. -no-qt3support \
  12. -no-xmlpatterns \
  13. -no-multimedia \
  14. -no-audio-backend \
  15. -no-phonon \
  16. -no-phonon-backend \
  17. -no-svg \
  18. -no-webkit \
  19. -no-javascript-jit \
  20. -no-script \
  21. -no-scripttools \
  22. -no-declarative \
  23. -no-declarative-debug \
  24. \
  25. -qt-zlib \
  26. -qt-freetype \
  27. -no-gif \
  28. -qt-libpng \
  29. -no-libmng \
  30. -no-libtiff \
  31. -qt-libjpeg \
  32. -no-openssl \
  33. \
  34. -nomake tools \
  35. -nomake demos \
  36. -nomake examples \
  37. -nomake docs \
  38. -nomake translations \
  39. -no-nis \
  40. -no-cups \
  41. -no-iconv \
  42. -no-pch \
  43. -no-dbus \
  44. \
  45. -embedded arm \
  46. -platform qws/linux-x86-g++ \
  47. -xplatform qws/linux-n3292x-g++ \
  48. \
  49. -no-gtkstyle \
  50. -no-nas-sound \
  51. -no-opengl \
  52. -no-openvg \
  53. -no-sm \
  54. -no-xshape \
  55. -no-xvideo \
  56. -no-xsync \
  57. -no-xinerama \
  58. -no-xcursor \
  59. -no-xfixes \
  60. -no-xrandr \
  61. -no-xrender \
  62. -no-mitshm \
  63. -no-fontconfig \
  64. -no-xinput \
  65. -no-xkb \
  66. -no-glib \
  67. \
  68. -qt-gfx-linuxfb \
  69. -qt-mouse-tslib \
  70. -qt-kbd-linuxinput
复制代码

      


执行上述脚本后,需要进行安装,我编写了安装脚本,内容如下:

  1. sudo make INSTALL_ROOT=${MY_CC_STAGING} install
  2. sudo rm -rf ${MY_CC_QT4_DIR}
  3. sudo mkdir -p ${MY_CC_QT4_DIR}
  4. sudo ln -s ${MY_CC_STAGING}/${MY_CC_QT4_PREFIX}   ${MY_CC_QT4_PREFIX}
复制代码

QT真实安装目录为:~/N32926/QT/desktop_build/

软连接到/usr/local/Trolltech/Qtembedded-4.8.5/目录

到此,还需要修改一个系统文件:

/usr/lib/i386-linux-gnu/qtchooser/qt4.conf

内容为:

/usr/local/Trolltech/Qtembedded-4.8.5/bin
/usr/local/Trolltech/Qtembedded-4.8.5
至此就可以编译QT的应用程序了



稳稳の幸福 发表于 2017-4-9 16:13 | 显示全部楼层
QT可以很容易的移植各种程序
yiy 发表于 2017-4-10 11:54 | 显示全部楼层
软件安装方式跟Linux下的一样。
dongnanxibei 发表于 2017-4-10 19:21 | 显示全部楼层
QT刚开始是诺基亚为塞班开发的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

145

主题

2032

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部