一般来讲,windows开发好的程序,要移植到Linux下边,主要是Makefile编写,Makefile 里边主要的是要指定编译器。
1.新建项目文件夹。把源码放在文件夹中
2.$qmake -project //生成.pro文件
3.qmake //生成Makefile
这里边是用qmake 产生了工程文件, qmake 就是你在Linux上边安装QT环境所在的bin目录,比如我的路径是:/opt/qt-4.7.1/bin/qmake
最终生成Make,里边看到有指定编译器:
CC = arm-linux-gcc
CXX = arm-linux-g++
如果是你 想用特定的编译器,那就在这里指定好了。‘
交叉编译环境搭建的时候是需要把arm支持的gcc 放到Linux里边,比如我用的toolchain是这个gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12,然后export一下让他生效,这个时候bin下边的工具gcc g++ 就可以在全局环境下找到。export PATH=$PATH: /usr/local/arm/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linarotoolchain/bin
我的代码由于之前已经配置好了 arm 的编译环境,我输入arm 的时候 直接显示出来如下内容:
root@ubuntu:/sharedfolder/qt# arm
arm2hpdl arm-linux-objcopy arm-none-linux-gnueabi-gcc-4.3.2
arm-linux-addr2line arm-linux-objdump arm-none-linux-gnueabi-gcov
arm-linux-ar arm-linux-ranlib arm-none-linux-gnueabi-gdb
arm-linux-as arm-linux-readelf arm-none-linux-gnueabi-gdbtui
arm-linux-c++ arm-linux-size arm-none-linux-gnueabi-gprof
arm-linux-c++filt arm-linux-sprite arm-none-linux-gnueabi-ld
arm-linux-cpp arm-linux-strings arm-none-linux-gnueabi-nm
arm-linux-g++ arm-linux-strip arm-none-linux-gnueabi-objcopy
arm-linux-gcc arm-none-linux-gnueabi-addr2line arm-none-linux-gnueabi-objdump
那么上边Makefile中应该由于我是用qmake 产生的,所以自动引入了arm-linux-gcc .