在Windows下利用mingw进行一些简单程序的编译还行,但是路径问题以及工具链的制作问题,总是会遇到麻烦,不如安装个虚拟机好用。曾试着在windows下编译下qt,后来坑太多果断放弃。自Win10推出ubuntu bash后,算是为在widows系统下开发运行linux程序带来了可能,我这里就试着在WIN10 bash下搭建了一个嵌入式qt的开发平台。WIN10 bash与在虚拟机上安装个ubuntu一样,都是同一套系统API,彼此兼容(有一些特殊设备bash未提供),不同之处在于,bash运行更高效,可以秒开,而且占用系统资源和空间更少,缺点是没有图形化界面。
WIN10 bash功能的打开参见https://jingyan.baidu.com/article/e73e26c0be8b6624adb6a7ba.html。
下面讲一讲怎么在win10 bash上搭建开发环境的一个示例。
一、编译Qt与tslib
首先下载Qt与tslib。Qt从官网上下载即可,这里选用4.8.7版本。tslib可以通过git下载,打开Win10 bash,通过 apt-get install git
安装git软件后,通过 git clone https://github.com/kergoth/tslib
下载tslib软件包。
安装几个软件包。
sudo apt-get install automake
sudo apt-get install autogen
sudo apt-get install autoconf
sudo apt-get install libtool
sudo apt-get install pkg-config
安装交叉编译工具。
sudo apt-get install g++-arm-linux-gnueabihf
开始编译tslib。
cd tslib
./autogen.sh
./configure --prefix=/usr/local/tslib --host=arm-linux-gnueabihf ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache
make
make install
其中,–prefix指定了tslib编译后安装的目录,–host指定了编译后运行所在的系统类型。
接着编译Qt。cd 到 qt-everywhere-opensource-src-4.8.7/mkspecs/qws 目录下,这里只有 linux-arm-gnueabi-g++ 的目录(我们的编译器选用的为gnueabihf),通过 cp linux-arm-gnueabi-g++ linux-arm-gnueabihf-g++ -r
拷贝个新的目录出来,然后修改 linux-arm-gnueabihf-g++/qmake.conf 文件的内容如下。
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)
QT_QPA_DEFAULT_PLATFORM = linuxfb
#QMAKE_INCDIR += /usr/local/tslib/include
#QMAKE_LIBDIR += /usr/local/tslib/lib
# modifications to g++.conf
QMAKE_CC