• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : 急 !! x86_qtopia下编译程序出错 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 13743
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
综合积分: 10 分
注册时间: 2010-01-28
最后登录: 2017-09-13
楼主  发表于: 2010-01-28 19:00

 急 !! x86_qtopia下编译程序出错

[size=7]各位高手 我在mini2440 里的x86-qtopia下 编译自写的程序时出错  小弟刚入门 清指教(是按照helloworld程序做得 )
  .obj/release-shared/main.o: In function `main':
main.cpp:(.text+0xe4): undefined reference to `QPEApplication::QPEApplication(int&, char**, QApplication::Type)'
main.cpp:(.text+0x1dd): undefined reference to `QPEApplication::showMainDocumentWidget(QWidget*, bool)'
main.cpp:(.text+0x1e9): undefined reference to `QPEApplication::showMainWidget(QWidget*, bool)'
main.cpp:(.text+0x1f7): undefined reference to `QPEApplication::exec()'
main.cpp:(.text+0x223): undefined reference to `QPEApplication::~QPEApplication()'
collect2: ld 返回 1
make: *** [ll] 错误 1


这是什么地方出错 应该怎么修改
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
1楼  发表于: 2010-01-28 20:53
引用楼主xushengsheng于2010-01-28 19:00发表的 急 !! x86_qtopia下编译程序出错 :
[size=7]各位高手 我在mini2440 里的x86-qtopia下 编译自写的程序时出错  小弟刚入门 清指教(是按照helloworld程序做得 )
  .obj/release-shared/main.o: In function `main':
main.cpp:(.text+0xe4): undefined reference to `QPEApplication::QPEApplication(int&, char**, QApplication::Type)'
main.cpp:(.text+0x1dd): undefined reference to `QPEApplication::showMainDocumentWidget(QWidget*, bool)'
main.cpp:(.text+0x1e9): undefined reference to `QPEApplication::showMainWidget(QWidget*, bool)'
.......

你连原码也没贴上来, 但却问人怎么改.

改甚么呢?

為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
级别: 新手上路
UID: 13743
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
综合积分: 10 分
注册时间: 2010-01-28
最后登录: 2017-09-13
2楼  发表于: 2010-01-28 21:09
main.cpp
#include "hello.h"
#include <qtopia/qpeapplication.h>

QTOPIA_ADD_APPLICATION("hello",HelloForm)
QTOPIA_MAIN

ll.h
#ifndef FORM1_H
#define FORM1_H

#include <qvariant.h>
#include <qwidget.h>
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QPushButton;

class Form1 : public QWidget
{
    Q_OBJECT

public:
    Form1( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
    ~Form1();

    QPushButton* PushButton1;

};

#endif // FORM1_H

ll.cpp

#include "ll.h"

#include <qpushbutton.h>
#include <qlayout.h>
#include <qvariant.h>
#include <qtooltip.h>
#include <qwhatsthis.h>

/*
*  Constructs a Form1 which is a child of 'parent', with the
*  name 'name' and widget flags set to 'f'
*/
Form1::Form1( QWidget* parent,  const char* name, WFlags fl )
    : QWidget( parent, name, fl )
{
    if ( !name )
        setName( "Form1" );
    resize( 596, 480 );
    setCaption( tr( "Form1" ) );

    PushButton1 = new QPushButton( this, "PushButton1" );
    PushButton1->setGeometry( QRect( 210, 80, 110, 50 ) );
    PushButton1->setText( tr( "hello" ) );
}

/*
*  Destroys the object and frees any allocated resources
*/
Form1::~Form1()
{
    // no need to delete child widgets, Qt does it all for us
}
ll.desktop

~ [Desktop Entry]
Comment=An Example Program
Exec=ll
Icon=ll
Type=Application
Name=Hello2440
ll.pro
TEMPLATE        = app
CONFIG          = qt warn_on release
HEADERS         =ll.h
SOURCES         = ll.cpp \
                 main.cpp
INTERFACES      =
DEPENDPATH=../../include
TARGET          =ll
~  
build                  
   #!/bin/bash

source /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/setQpeEnv
qmake -o Makefile -spec /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/mkspecs/qws/linux-generic-g++ *.pro

make clean
make

谢谢版主
                                      
级别: 新手上路
UID: 13743
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
综合积分: 10 分
注册时间: 2010-01-28
最后登录: 2017-09-13
3楼  发表于: 2010-01-28 21:16
不好意思 main 上面的应该是 "ll.h" 打错了
级别: 新手上路
UID: 13743
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
综合积分: 10 分
注册时间: 2010-01-28
最后登录: 2017-09-13
4楼  发表于: 2010-01-28 21:19
#include "ll.h"
#include <qtopia/qpeapplication.h>

QTOPIA_ADD_APPLICATION("ll",Form1)
QTOPIA_MAIN
main 函数是这样
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
5楼  发表于: 2010-01-28 22:00
引用第4楼xushengsheng于2010-01-28 21:19发表的  :
#include "ll.h"
#include <qtopia/qpeapplication.h>

QTOPIA_ADD_APPLICATION("ll",Form1)
QTOPIA_MAIN
.......

请详细阅读以下帖子便可找到答案:

http://www.aiothome.net/read.php?tid-4399.html

為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
级别: 新手上路
UID: 13772
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
综合积分: 18 分
注册时间: 2010-01-28
最后登录: 2010-09-03
6楼  发表于: 2010-01-28 22:09
这个贴子很好 ,对初学者很有帮助 但是我的问题还没有解决  是因为我用uic 生成了.h .cpp文件了吗
级别: 新手上路
UID: 13772
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
综合积分: 18 分
注册时间: 2010-01-28
最后登录: 2010-09-03
7楼  发表于: 2010-01-28 22:11
我也查了其他的网站 有的说是libqtopia.so  libqpc.so 没有连接上
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
8楼  发表于: 2010-01-28 22:19
引用第6楼shurarai于2010-01-28 22:09发表的  :
这个贴子很好 ,对初学者很有帮助 但是我的问题还没有解决  是因为我用uic 生成了.h .cpp文件了吗


6. 不要自行用uic来把*.ui档转化为*.cpp及*.h档,这件事情会在运行build脚本时自动完成,
   只不过转化出来的*.cpp及*.h档,是储存在一个hidden folder内(用ls -a便可看见).
   不要更改这些档案来实行程序所需的功能,正确的做法是自行编写一个子类来继承由
  Qt designer设计的那个Form,这样一来便可调用其上的所有控件.这点是整个开发过程
  的重点所在.

不是已经说得很清楚吗?

为何还要用uic来 生成.h .cpp文件呢???

為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
级别: 新手上路
UID: 13772
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
综合积分: 18 分
注册时间: 2010-01-28
最后登录: 2010-09-03
9楼  发表于: 2010-01-28 22:30
我刚试过 好像不行 我是菜鸟 望楼上不要生气
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go