搭建龙芯3A5000编译环境,编译QT源码

1.安装依赖

   1 sudo apt-get install flex

   2 sudo apt-get install bison

   3 sudo apt-get install gperf

2.安装freetype开发库和fontconfig开发库

   1. sudo apt-get install libfreetype6-dev

   2. sudo apt-get install libfontconfig1-dev

3.freetype头文件做软链接

       sudo ln -s /usr/include/freetype2/freetype /usr/include/freetype

4.安装OpenGL

   1 sudo apt-get install build-essential

   2 sudo apt-get install libgl1-mesa-dev

   3. sudo apt-get install libglu1-mesa-dev

   4  sudo apt-get install libegl1-mesa-dev

   5  sudo apt-get install freeglut3-dev

5.下载Qt源码并编译  

  新建文件夹存放编译过程中产生的临时文件,这样不会污染源码所在目录,在源码同级目录下新建文件夹  ,以下以qt5.9.9源码为例。

    (1)mkdir qt5.9.9

      (2)  cd qt5.9.9 

      (3) ./../qt-everywhere-src-5.9.9/configure   -release -prefix ../qt5.9.9

    4按提示选择版本 ,输入‘o’回车

    (5)询问是否接受协议   ,输入‘y’回车

执行make  &make install     

          sudo make && sudo make install

7 修改环境变量

  1 sudo gedit ~/.profile

  2  在打开的文件末尾加上下面内容

   (1export QTDIR=/opt/qt5.9.9

     (2export PATH=$QTDIR/bin:$PATH

     (3export MANPATH=$QTDIR/man:$MANPATH

   4export LD_LIDRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

8.  输入qmake -v 出现版本信息,说明qt源码编译并安装成功,如果出现找不到命令要重新链接

   sudo ln -s /opt/Qt5.9.9_static/bin/qmake /usr/bin/qmake

9.Qt源码适配龙芯3A5000需要改动的两个点

1.  报错文件为qtbase/src/3rdparty/double-conversion/include/double-conversion/utils/h

  打开这个头文件,在defined(__mips__)|| 后面加上defined(__loongarch__),即把defined(__mips__)|| \ 这行改为 defined(__mips__) || defined(__loongarch__)|| \

2. 报错casr from 'QTJSC::JSCell*' to 'int32_t' {aka 'int'} loses precision [-fpermissive]

 原因:'QTJSC::JSCell*' 'int32_t'会丢失精度 64Linux机器上的指针占8个字节,而int4个字节,所以会报这个错

 位置:qtscript/src/3rdparty/javascriptcore/javaScriptCore/runtime/JSValue.h

 解决方式:打开JSValue.h 文件

   找到 u.asBits.payload=reinterpret_cast<int32_t>(ptr); u.asBits.payload=reinterpret_cast<int_32_t>(const_cast<JSCell*>(ptr)); ,  int_32_t 改成int64_t

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值