在海思3515芯片移植qt-embedded(三)----手工编写qte程序的Makefile
2011-01-10 18:09
288 查看
我们的工程, 是一个基于C的工程,几乎所有的模块的源码都是用c语言编写,整个工程在设计之处采用的MVC模式,力争做到用户界面与业务处理分离。
ui模块是采用qt,还是minigui,在设计之初也是经过了考虑,minigui网络上相关资料较少,同时最新的版本不开源,能够下载到开源版本已是几年前,qt做为一个开源的gui方案,网络上相关资料和论坛不少,人气也旺,背后有nokia这样的大公司做支持,稳定性也是有保证的。最终确定采用qt.
qt 的makefile一般都是利用qt提供的qmake工具自动生成的,这明显在我们的项目不合要求,对整个工程来说, Gui只是整个工程的一个模块,
看了看qmake工具生成的make, 无非是链接了一些头文件和动态库。
所以我手工编写一个用于编绎qte demo程序的示例
QTEDIR 下载编绎的QT源码目录.
INCPATH 链接的头文件目录.
LFLAGS 编绎选项,拷贝qmake自动生成的makefile文件.
LIBS 指定库文件目录与链接的库文件.
很奇怪的一个问题,当我把LFLAGS加入编绎选项时,编绎时不报错,运行程序时会提示Segmentation fault 错误。
经排除后确认是由-shared选项引发的此错误,-shared ,用于生成共享目标文件。用在建立共享库时。我们编绎的不是共享库, 所以该选项应去掉。
ui模块是采用qt,还是minigui,在设计之初也是经过了考虑,minigui网络上相关资料较少,同时最新的版本不开源,能够下载到开源版本已是几年前,qt做为一个开源的gui方案,网络上相关资料和论坛不少,人气也旺,背后有nokia这样的大公司做支持,稳定性也是有保证的。最终确定采用qt.
qt 的makefile一般都是利用qt提供的qmake工具自动生成的,这明显在我们的项目不合要求,对整个工程来说, Gui只是整个工程的一个模块,
看了看qmake工具生成的make, 无非是链接了一些头文件和动态库。
所以我手工编写一个用于编绎qte demo程序的示例
QTEDIR 下载编绎的QT源码目录.
INCPATH 链接的头文件目录.
LFLAGS 编绎选项,拷贝qmake自动生成的makefile文件.
LIBS 指定库文件目录与链接的库文件.
QTEDIR=/home/zhoumin/open-source/qt-embedded-linux-opensource-src-4.5.3 INCPATH = -I. -I$(QTEDIR)/include/QtCore -I$(QTEDIR)/include/QtNetwork -I$(QTEDIR)/include/QtGui -I$(QTEDIR)/include LINK = arm-hismall-linux-g++ LFLAGS = -fno-exceptions -Wl,-O1 -Wl,-rpath,/home/zhoumin/usr/qt/hismall/lib -Wl,-rpath,/home/zhoumin/usr/qt/hismall/lib -shared -Wl,-soname, LIBS = -L/home/zhoumin/open-source/qt-embedded-linux-opensource-src-4.5.3/lib -L/home/zhoumin/open-source/qt-embedded-linux-opensource-src-4.5.3/lib -lQtGui -lQtNetwork -lQtCore -lpthread all: arm-hismall-linux-g++ -o test main.cpp $(INCPATH) $(LIBS) clean: rm -f test
很奇怪的一个问题,当我把LFLAGS加入编绎选项时,编绎时不报错,运行程序时会提示Segmentation fault 错误。
经排除后确认是由-shared选项引发的此错误,-shared ,用于生成共享目标文件。用在建立共享库时。我们编绎的不是共享库, 所以该选项应去掉。
相关文章推荐
- 在海思3515芯片移植qt-embedded(一)---编绎和移植
- 在海思3515芯片移植qt-embedded(二)----hello world
- 解决Tslib移植之后自己编写的QT程序不能使用触屏的问题
- qt-embedded-3.1.1 tslib触摸屏校正+qte3移植+触摸屏支持+中文显示
- QT编写的程序从Windows操作系统中移植到树莓派中编译并运行
- QT-Embedded-4.5.3在海思35xx上移植
- QT-Embedded-4.5.3在海思35xx上移植
- 将 C++ Qt 程序移植至 Linux 系统
- windows qt 使用c++ posix接口编写多线程程序(真神奇)good
- 如何将QT程序移植到开发板上运行
- Qt编写串口通信程序全程图文讲解
- 在mini2440上移植qt embedded for linux 4.5.2
- 编写可移植C/C++程序的要点(12条)
- ARM程序工程Makefile 讲解及通用版例子编写
- ubuntu下的qt程序移植至ARM开发板
- qt4 程序 移植到 qt5
- 在Ubuntu上编写Qt Helloworld程序
- QT/Embedded 2.3.8 MX21ADS板移植
- QT程序到arm(A8)板的移植之旅
- Qt程序移植到ARM