天嵌 ARM开发社区

 找回密码
 注册
查看: 2618|回复: 8

编译QT first程序时错误提示

[复制链接]
佳佳 发表于 2010-10-19 15:40:44 | 显示全部楼层 |阅读模式
各位大侠帮帮忙:
我都是照着天嵌QT开发手册弄的,做好first的全部步骤后,make时出错
[root@EmbedSky first]# make
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -I/opt/EmbedSky/Qte/x86-qtopia-2.2.0/qt2/include -I/opt/EmbedSky/Qte/x86-qtopia-2.2.0/qtopia/include -o first.o first.cpp
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -I/opt/EmbedSky/Qte/x86-qtopia-2.2.0/qt2/include -I/opt/EmbedSky/Qte/x86-qtopia-2.2.0/qtopia/include -o main.o main.cpp
main.cpp:3:36: qtopia/qpeapplicationl.h: 没有那个文件或目录
main.cpp:5: parse error before `)' token
main.cpp:6: ISO C++ forbids declaration of `QTOPIA_ADD_APPLICATION' with no
   type
main.cpp:6: initializer list being treated as compound expression
main.cpp:6: syntax error at end of input
make: *** [main.o] Error 1


main.cpp程序代码为:
#include "first.h"
#include <qapplication.h>
#include <qtopia/qpeapplication.h>

QTOPIA_ADD_APPLICATION("first",first)
QTOPIA_MAIN

是不是qpeapplication.h头文件在qtopia的include目录下,可是我在那个目录没有找到这个头文件啊。
我运行天嵌自带的test_x86可以显示图形界面,那就证明安装qtopia没问题吧
现在很头疼,不知道是什么原因,请各位帮帮忙吧,谢谢啦
天嵌_support1 发表于 2010-10-19 15:51:32 | 显示全部楼层
1# 佳佳


有网友遇到你同样的问题,你把这个头文件的路径修改一下就好了
 楼主| 佳佳 发表于 2010-10-19 16:30:59 | 显示全部楼层
刚才在qtopia目录下的include/tqopia目录找到了qpeapplicationl.h头文件
这个头文件的全部路径为:/opt/EmbedSky/Qte/x86-qtopia-2.2.0/qtopia/include/qtopia
main.cpp的全部路径为:/opt/EmbedSky/Qte/x86-qtopia-2.2.0/pro/first
那请问这样子要怎么改路径啊?谢谢啦
 楼主| 佳佳 发表于 2010-10-19 16:32:35 | 显示全部楼层
刚才在qtopia目录下的include/tqopia目录找到了qpeapplicationl.h头文件
这个头文件的全部路径为:/opt/EmbedSky/Qte/x86-qtopia-2.2.0/qtopia/include/qtopia
main.cpp的全部路径为:/opt/EmbedSky/Qte/x86-qtopia-2.2.0/pro/first
那请问这样子要怎么改路径啊?谢谢啦
天嵌_support1 发表于 2010-10-19 18:46:26 | 显示全部楼层
4# 佳佳

看看setX86_QpeEnv 这个文件的环境变量和你的项目的makfile里的
 楼主| 佳佳 发表于 2010-10-19 19:59:11 | 显示全部楼层
本帖最后由 佳佳 于 2010-10-19 20:01 编辑

setX86_QpeEnv 脚步为:
#!/bin/sh
export QPEDIR=/opt/EmbedSky/Qte/x86-qtopia-2.2.0/qtopia
export QTOPIA_DEPOT_PATH=/opt/EmbedSky/Qte/x86-qtopia-2.2.0/qtopia
export QTDIR=/opt/EmbedSky/Qte/x86-qtopia-2.2.0/qt2
export DQTDIR=/opt/EmbedSky/Qte/x86-qtopia-2.2.0/dqt
export TMAKEDIR=/opt/EmbedSky/Qte/x86-qtopia-2.2.0/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
export PATH=$QPEDIR/bin:$QTDIR/bin:$DQTDIR/bin:$TMAKEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QPEDIR/lib:$QTDIR/lib:$DQTDIR/lib:$LD_LIBRARY_PATH

Makefile代码为:
#############################################################################
# Makefile for building first
# Generated by tmake at 02:05, 2010/10/19
#     Project: first
#    Template: app
#############################################################################

####### Compiler, tools and options

CC        =        gcc
CXX        =        g++
CFLAGS        =        -pipe -Wall -W -O2 -DNO_DEBUG
CXXFLAGS=        -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG
INCPATH        =        -I$(QTDIR)/include -I$(QPEDIR)/include
LINK        =        g++
LFLAGS        =       
LIBS        =        $(SUBLIBS) -L$(QPEDIR)/lib -L$(QTDIR)/lib -lqpe -lqtopia -lqte
MOC        =        $(QTDIR)/bin/moc
UIC        =        $(QTDIR)/bin/uic

TAR        =        tar -cf
GZIP        =        gzip -9f

####### Files

HEADERS =        first.h
SOURCES =        first.cpp \
                main.cpp
OBJECTS =        first.o \
                main.o
INTERFACES =        first.ui
UICDECLS =        first.h
UICIMPLS =        first.cpp
SRCMOC        =        moc_first.cpp
OBJMOC        =        moc_first.o
DIST        =
TARGET        =$(QPEDIR)/image/opt/Qtopia/bin/first
DESKTOP =$(QPEDIR)/image/opt/Qtopia/apps/EmbedSky/first.desktop
ICON =        $(QPEDIR)/image/opt/Qtopia/pics/first.png
INTERFACE_DECL_PATH = .

####### Implicit rules

.SUFFIXES: .cpp .cxx .cc .C .c

.cpp.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cxx.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cc.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.C.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.c.o:
        $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<

####### Build rules


all: $(TARGET)
        cp -f first.desktop $(DESKTOP)
        cp -f first.png $(ICON)

$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC)
        $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)

moc: $(SRCMOC)

tmake: Makefile

Makefile: first.pro
        tmake first.pro -o Makefile

dist:
        $(TAR) first.tar first.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST)
        $(GZIP) first.tar

clean:
        -rm -f $(OBJECTS) $(OBJMOC) $(DESKTOP) $(ICON) $(TARGET)
        -rm -f *~ core

####### Sub-libraries


###### Combined headers


####### Compile

first.o: first.cpp \
                first.h \
                first.ui

main.o: main.cpp \
        first.h  \
         /opt/EmbedSky/Qte/x86-qtopia2.2.0/qtopia/include/qtopia/qpeapplication.h
                           (上面的路径是我自己加上去的)

first.h: first.ui
        $(UIC) first.ui -o $(INTERFACE_DECL_PATH)/first.h

first.cpp: first.ui
        $(UIC) first.ui -i first.h -o first.cpp


moc_first.o: moc_first.cpp \
                first.h

moc_first.cpp: first.h
        $(MOC) first.h -o moc_first.cpp

请问一下版主,要怎样修改啊?我刚弄QT,什么都不懂,谢谢了
天嵌_support1 发表于 2010-10-20 11:58:36 | 显示全部楼层
6# 佳佳


不喜欢看代码。
你source setX86_QpeEnv  这个环境变量一下在编译吧
 楼主| 佳佳 发表于 2010-10-20 14:21:00 | 显示全部楼层
版主,我已经source过的啦,还是不行
天嵌_support1 发表于 2010-10-20 15:50:59 | 显示全部楼层
8# 佳佳


元老,你去弄Qt4吧。实在伤脑筋。
没法和你同步
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-9-27 23:32 , Processed in 1.021419 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表