您的位置:首页 > 编程语言 > Qt开发

在海思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 指定库文件目录与链接的库文件.

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 ,用于生成共享目标文件。用在建立共享库时。我们编绎的不是共享库, 所以该选项应去掉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: