qt android sdk manager连接不上 qt搭建安卓开发环境_嵌入式

qt android sdk manager连接不上 qt搭建安卓开发环境_嵌入式

Qt开发环境的搭建,具体可按整个项目的开发环境来决定... 例如:本人的电脑主系统是Win7,并且公司提供专门的服务器来编译项目,这样就可以将程序的编辑与编译分开了。这次是在虚拟机里的Ubuntu下搭建一个开发环境,仅当练练手。好,不罗嗦了...

/* ----------------------  ----------------------  ----------------------  ----------------------  ----------------------  ----------------------  ----------------------  ----------------------  */
搭建流程:
1.安装Qt Creator
2.安装交叉编译器
3.编译directfb (这只是为了提高板端程序的图形渲染性能,故加入DirectFb图形加速层)
4.修改、配置、编译Qt库

一。因为是在linux下做开发,因此获取qt-creator-linux-x86-opensource-2.7.1.bin,并执行如下操作:
  
   sudo./qt-creator-linux-x86-opensource-2.7.1.bin
   此时如果打开Qt Creator出错,是因为文件所有者的问题,在用户主目录下执行如下操作:
   chown -R ***:*** ~/.config/QtProject         (***为当前用户名)
   此时若~/.config/下未找到QtProject目录,稍后再执行此操作也行。
二。
   1.如果是安装桌面版的Qt库,直接执行如下操作即可:
 qt-everywhere-opensource-src-4.8.4.tar.gz
     2).配置Qt库:在源码目录下执行 ./configure -fast
     3).编译:在源码目录下 make -j8 (用多个作业线程去完成编译工作,可能会耗时半小时左右)
     4).安装:sudo make install
   2.安装嵌入式版Qt库(因为本人写的Qt程序是要放到嵌入式产品中运行的,而嵌入式产品的硬件资源等都是受限的,因此就会涉及库的裁剪、
     配置,以及加入DirectFb等等)
     1).安装海思交叉编译器:
tar xvfz Hi3531_SDK_V1.0.7.3.tgz,解压后生成Hi3531_SDK_V1.0.7.3_B010目录
        b).修改HISIV-SDK/Hi3531_SDK_V1.0.7.3_B010/下的sdk.unpack脚本,我们使用的是bash而非sh,将sdk.unpack第一行改为
           #!/bin/bash
        c).解压sdk:./sdk.unpack
arm-hisiv100nptl-linux,因此
 osdrv/toolchain/arm-hisiv100nptl-linux/
           ***/osdrv/toolchain/arm-hisiv100nptl-linux$ chmod 755 cross.install
        e).安装:./cross.install
     2).编译directfb
        a).解压directfb源码包:tar xvzf directfb-1.5.3.tar.gz,解压后会生成directfb目录
        b). cd directfb/
        c). ***/directfb/$ ./ci.sh后会提示:
           $ please select the process type:(1)multi(2)single:
           选择2;
please select the compile type:(1)debug(2)release:
           选择2
           编译完成后会在当前目录下生成directfb目录,该directfb目录下的include 和 lib里就包含了编译Qt库时要用到的头文件和
           库文件;将该directfb目录拷贝到/opt/下
           ***$ cp -R directfb /opt/ (由于Qt库编译时使用的绝对路径,一旦directfb的路径改变了,编译Qt程序会出错,故将
           directfb目录放到/opt/下)
      3).修改编译Qt库的配置文件:目的有二,1.指定Qt到何处引用和连接directfb头文件和动态库,2.指定编译Qt库时的编译参数。
         解压嵌入式版Qt库源码包:tar xvzf qt-arm-4.8.4-dfb.tar.gz,接着cd qt-arm-4.8.4-dfb/
         修改mkspecs/qws/linux-hisi-g++/qmake.conf,操作如下:
         vim mkspecs/qws/linux-hisi-g++/qmake.conf
         添加变量
  
QT_CFLAGS_DIRECTFB = -D_REENTRANT-I/opt/directfb/include/directfb
  
         QT_LIBS_DIRECTFB = -L/opt/directfb/lib-ldirectfb -lfusion -ldirect -lpthread
         这样directfb库可以被Qt库正确链接到了。
         
         指定交叉编译器使用的指令集及架构,操作如下(继续在qmake.conf中添加)
  
QMAKE_CFLAGS_RELEASE    = -O2 -march=armv7-a -mcpu=cortex-a9
QMAKE_CXXFLAGS_RELEASE  = $$QMAKE_CFLAGS_RELEASE
         保存退出。
 
         使用qt-arm-4.8.4-dfb/tools/下的qconfig工具裁剪Qt(这一步本人页没太弄明白,还请路过的大虾指点!)
这些工具都是以源代码的形式提供,为了使用方便,我们一般编译将其编译成PC上运行的工具,编译方法也很简单,
           前面已经编译过了桌面版的Qt库,其实在执行./configure时,qconfig源代码目录就已经生成了Makefile,
           现在只需进入该目录执行一下make就可生成qconfig可执行文件,./qconfig运行起来后就可以看到界面了,
           将其生成的qconfig-xxxx.h文件(例如生成的qconfig-samsung.h)放到src/corelib/global目录后就可以在 
           ./configure时用-qconfig xxxx(例如:-qconfig samsung)的方式来使用

            配置Qt库:
./configure -opensource  -confirm-license-release -static -fast -nomake tools 
 
           -no-exceptions -no-accessibility -no-stl -no-qt3support -no-gif-no-libtiff -no-libmng 
  -no-pch -no-dbus -no-mmx -no-3dnow -no-sse
           -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-neon-optimized-qmake 
           -no-multimedia -no-phonon -no-phonon-backend -no-audio-backend-no-openssl -no-gtkstyle 
           -no-svg -no-webkit -no-javascript-jit -no-script-no-scripttools -no-declarative 
  -no-sql-sqlite -no-sql-sqlite2-no-system-proxies  
           -no-xmlpatterns-little-endian  -host-little-endian  -no-freetype -no-opengl -depths all
  
           -no-glib -embeddedarm -xplatform qws/linux-hisi-g++ -qconfig samsung

./configure -embedded arm --help可查看一般项和
           嵌入式平台特有项。

         接着编译、安装: 
                     $ make -j8
                     $ sudo make install

             

三。配置Qt Creator

    

qt android sdk manager连接不上 qt搭建安卓开发环境_qt_03


qt android sdk manager连接不上 qt搭建安卓开发环境_Qt_04








qt android sdk manager连接不上 qt搭建安卓开发环境_嵌入式


如果Desktop(default)前面有感叹号,则说明上面的几项配置存在问题。