• 6218阅读
  • 8回复

关于qt-embedded-linux-opensource-src-4.4.1 的X86版本(已解决) [复制链接]

上一主题 下一主题
离线loj160
 

只看楼主 倒序阅读 楼主  发表于: 2011-05-13
小弟用的是qt-embedded-linux-opensource-src-4.4.1。
按了3个QT  分别是 PC下的、 X86下的、ARM下的、(这3个文件夹下,对应着相应的版本),
1   .我PC下的desiger能运行 。但是X86下bin/的程序都不能运行,请问这是怎么一回事?
2   我进行如下操作:
# source   /usr/qten/x86.sh  
     x86.sh内容如下:(就是设置环境的)
  PATH=/usr/local/qt/x86/bin:$PATH
  QTDIR=/usr/local/qt/x86
  QTDEDIR=$QTDIR
  MANPATH=$QTDIR/man:$MANPATH
  LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
  export PATH QTDIR MANPATH LD_LIBRARY_PATH  

#cd /tmp/ceshi   (我自己编的程序放在此处)
只有2个文件  :   main.cpp   anjian.ui
root@localhost ceshi]# uic -o ui_anjian.h  anjian.ui  
[root@localhost ceshi]# qmake -project
[root@localhost ceshi]# qmake
[root@localhost ceshi]# make
Makefile:189: warning: overriding commands for target `main.o'
Makefile:186: warning: ignoring old commands for target `main.o'
g++ -Wl,-rpath,/usr/local/qt/qte/lib -o ceshi main.o main.o    -L/usr/local/qt/qte/lib -lQtGui -L/usr/local/qt/qte/lib -lpng -lfreetype -pthread -pthread -pthread -pthread -pthread -pthread -lQtNetwork -pthread -pthread -lQtCore -lz -lm -pthread -lgthread-2.0 -lglib-2.0 -lrt -ldl -lpthread
main.o(.text+0x0): In function `main':
: multiple definition of `main'
main.o(.text+0x0): first defined here
collect2: ld returned 1 exit status
make: *** [ceshi] Error 1  


希望大虾给指点一下   谢谢  !


[ 此帖被loj160在2011-05-14 10:01重新编辑 ]
离线562913465
只看该作者 1楼 发表于: 2011-05-13
程序写对了么?貌似是makefile的问题,makefile源码贴出来看看。
离线loj160

只看该作者 2楼 发表于: 2011-05-13
#############################################################################
# Makefile for building: ceshi
# Generated by qmake (2.01a) (Qt 4.4.1) on: Fri May 13 05:21:45 2011
# Project:  ceshi.pro
# Template: app
# Command: /usr/local/qt/qte/bin/qmake -unix -o Makefile ceshi.pro
#############################################################################

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

CC            = gcc
CXX           = g++
DEFINES       = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
CFLAGS        = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
CXXFLAGS      = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
INCPATH       = -I/usr/local/qt/qte/mkspecs/qws/linux-x86-g++ -I. -I/usr/local/qt/qte/include/QtCore -I/usr/local/qt/qte/include/QtCore -I/usr/local/qt/qte/include/QtNetwork -I/usr/local/qt/qte/include/QtNetwork -I/usr/local/qt/qte/include/QtGui -I/usr/local/qt/qte/include/QtGui -I/usr/local/qt/qte/include -I. -Iav -I. -I.
LINK          = g++
LFLAGS        = -Wl,-rpath,/usr/local/qt/qte/lib
LIBS          = $(SUBLIBS)  -L/usr/local/qt/qte/lib -lQtGui -L/usr/local/qt/qte/lib -lpng -lfreetype -pthread -pthread -pthread -pthread -pthread -pthread -lQtNetwork -pthread -pthread -lQtCore -lz -lm -pthread -lgthread-2.0 -lglib-2.0 -lrt -ldl -lpthread
AR            = ar cqs
RANLIB        =
QMAKE         = /usr/local/qt/qte/bin/qmake
TAR           = tar -cf
COMPRESS      = gzip -9f
COPY          = cp -f
SED           = sed
COPY_FILE     = $(COPY)
COPY_DIR      = $(COPY) -R
INSTALL_FILE  = $(COPY_FILE)
INSTALL_DIR   = $(COPY_DIR)
INSTALL_PROGRAM = $(COPY_FILE)
DEL_FILE      = rm -f
SYMLINK       = ln -sf
DEL_DIR       = rmdir
MOVE          = mv -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p

####### Output directory

OBJECTS_DIR   = ./

####### Files

SOURCES       = main.cpp \
        av/main.cpp
OBJECTS       = main.o \
        main.o
DIST          = /usr/local/qt/qte/mkspecs/common/unix.conf \
        /usr/local/qt/qte/mkspecs/qconfig.pri \
        /usr/local/qt/qte/mkspecs/features/qt_functions.prf \
        /usr/local/qt/qte/mkspecs/features/qt_config.prf \
        /usr/local/qt/qte/mkspecs/features/exclusive_builds.prf \
        /usr/local/qt/qte/mkspecs/features/default_pre.prf \
        /usr/local/qt/qte/mkspecs/features/release.prf \
        /usr/local/qt/qte/mkspecs/features/default_post.prf \
        /usr/local/qt/qte/mkspecs/features/warn_on.prf \
        /usr/local/qt/qte/mkspecs/features/qt.prf \
        /usr/local/qt/qte/mkspecs/features/unix/thread.prf \
        /usr/local/qt/qte/mkspecs/features/moc.prf \
        /usr/local/qt/qte/mkspecs/features/resources.prf \
        /usr/local/qt/qte/mkspecs/features/uic.prf \
        /usr/local/qt/qte/mkspecs/features/yacc.prf \
        /usr/local/qt/qte/mkspecs/features/lex.prf \
        ceshi.pro
QMAKE_TARGET  = ceshi
DESTDIR       =
TARGET        = ceshi

first: all
####### Implicit rules

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

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

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

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

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

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

####### Build rules

all: Makefile $(TARGET)

$(TARGET): ui_anjian.h $(OBJECTS)  
    $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)

Makefile: ceshi.pro  /usr/local/qt/qte/mkspecs/qws/linux-x86-g++/qmake.conf /usr/local/qt/qte/mkspecs/common/unix.conf \
        /usr/local/qt/qte/mkspecs/qconfig.pri \
        /usr/local/qt/qte/mkspecs/features/qt_functions.prf \
        /usr/local/qt/qte/mkspecs/features/qt_config.prf \
        /usr/local/qt/qte/mkspecs/features/exclusive_builds.prf \
        /usr/local/qt/qte/mkspecs/features/default_pre.prf \
        /usr/local/qt/qte/mkspecs/features/release.prf \
        /usr/local/qt/qte/mkspecs/features/default_post.prf \
        /usr/local/qt/qte/mkspecs/features/warn_on.prf \
        /usr/local/qt/qte/mkspecs/features/qt.prf \
        /usr/local/qt/qte/mkspecs/features/unix/thread.prf \
        /usr/local/qt/qte/mkspecs/features/moc.prf \
        /usr/local/qt/qte/mkspecs/features/resources.prf \
        /usr/local/qt/qte/mkspecs/features/uic.prf \
        /usr/local/qt/qte/mkspecs/features/yacc.prf \
        /usr/local/qt/qte/mkspecs/features/lex.prf \
        /usr/local/qt/qte/lib/libQtGui.prl \
        /usr/local/qt/qte/lib/libQtNetwork.prl \
        /usr/local/qt/qte/lib/libQtCore.prl
    $(QMAKE) -unix -o Makefile ceshi.pro
/usr/local/qt/qte/mkspecs/common/unix.conf:
/usr/local/qt/qte/mkspecs/qconfig.pri:
/usr/local/qt/qte/mkspecs/features/qt_functions.prf:
/usr/local/qt/qte/mkspecs/features/qt_config.prf:
/usr/local/qt/qte/mkspecs/features/exclusive_builds.prf:
/usr/local/qt/qte/mkspecs/features/default_pre.prf:
/usr/local/qt/qte/mkspecs/features/release.prf:
/usr/local/qt/qte/mkspecs/features/default_post.prf:
/usr/local/qt/qte/mkspecs/features/warn_on.prf:
/usr/local/qt/qte/mkspecs/features/qt.prf:
/usr/local/qt/qte/mkspecs/features/unix/thread.prf:
/usr/local/qt/qte/mkspecs/features/moc.prf:
/usr/local/qt/qte/mkspecs/features/resources.prf:
/usr/local/qt/qte/mkspecs/features/uic.prf:
/usr/local/qt/qte/mkspecs/features/yacc.prf:
/usr/local/qt/qte/mkspecs/features/lex.prf:
/usr/local/qt/qte/lib/libQtGui.prl:
/usr/local/qt/qte/lib/libQtNetwork.prl:
/usr/local/qt/qte/lib/libQtCore.prl:
qmake:  FORCE
    @$(QMAKE) -unix -o Makefile ceshi.pro

dist:
    @$(CHK_DIR_EXISTS) .tmp/ceshi1.0.0 || $(MKDIR) .tmp/ceshi1.0.0
    $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/ceshi1.0.0/ && $(COPY_FILE) --parents ui_fxjian.h .tmp/ceshi1.0.0/ && $(COPY_FILE) --parents main.cpp av/main.cpp .tmp/ceshi1.0.0/ && $(COPY_FILE) --parents av/anjian.ui .tmp/ceshi1.0.0/ && (cd `dirname .tmp/ceshi1.0.0` && $(TAR) ceshi1.0.0.tar ceshi1.0.0 && $(COMPRESS) ceshi1.0.0.tar) && $(MOVE) `dirname .tmp/ceshi1.0.0`/ceshi1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/ceshi1.0.0


clean:compiler_clean
    -$(DEL_FILE) $(OBJECTS)
    -$(DEL_FILE) *~ core *.core


####### Sub-libraries

distclean: clean
    -$(DEL_FILE) $(TARGET)
    -$(DEL_FILE) Makefile


mocclean: compiler_moc_header_clean compiler_moc_source_clean

mocables: compiler_moc_header_make_all compiler_moc_source_make_all

compiler_moc_header_make_all:
compiler_moc_header_clean:
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
compiler_image_collection_clean:
    -$(DEL_FILE) qmake_image_collection.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_uic_make_all: ui_anjian.h
compiler_uic_clean:
    -$(DEL_FILE) ui_anjian.h
ui_anjian.h: av/anjian.ui
    /usr/local/qt/qte/bin/uic av/anjian.ui -o ui_anjian.h

compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: compiler_uic_clean

####### Compile

main.o: main.cpp ui_fxjian.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp

main.o: av/main.cpp av/ui_anjian.h
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o av/main.cpp

####### Install

install:   FORCE

uninstall:   FORCE

FORCE:
离线562913465
只看该作者 3楼 发表于: 2011-05-13
设置QMAKESPEC了没?我设置的环境变量是这:
export QTDIR=/home/qt4/qt-x86
export QMAKESPEC=$QTDIR/mkspecs/qws/linux-x86-g++
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
我不知道你的什么错误,你看看makefile
离线loj160

只看该作者 4楼 发表于: 2011-05-13
我试试    先谢谢啊
离线loj160

只看该作者 5楼 发表于: 2011-05-13
[root@localhost ceshi]# export QTDIR=/usr/local/qt/qtx86/
[root@localhost ceshi]# export QMAKESPEC=$QTDIR/mkspecs/qws/linux-x86-g++
[root@localhost ceshi]# export PATH=$QTDIR/bin:$PATH
[root@localhost ceshi]# export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
[root@localhost ceshi]# make
Makefile:189: warning: overriding commands for target `main.o'
Makefile:186: warning: ignoring old commands for target `main.o'
g++ -Wl,-rpath,/usr/local/qt/qte/lib -o ceshi main.o main.o    -L/usr/local/qt/qte/lib -lQtGui -L/usr/local/qt/qte/lib -lpng -lfreetype -pthread -pthread -pthread -pthread -pthread -pthread -lQtNetwork -pthread -pthread -lQtCore -lz -lm -pthread -lgthread-2.0 -lglib-2.0 -lrt -ldl -lpthread
main.o(.text+0x0): In function `main':
: multiple definition of `main'
main.o(.text+0x0): first defined here
collect2: ld returned 1 exit status
make: *** [ceshi] Error 1
还是不行
离线wxj120bw

只看该作者 6楼 发表于: 2011-05-14
makefile文件为什么这么配置
OBJECTS       = main.o \
        main.o
去掉一个main.o不好吗
离线loj160

只看该作者 7楼 发表于: 2011-05-14
是这个地方的问题,我也不知道是怎么弄的这里多了个 main.o ,我是直接生成的,谢谢各位的帮助  ,
离线loj160

只看该作者 8楼 发表于: 2011-05-14
我又测试一个程序 ,发现这回Makefile 没有再多main.o  , 也不知道 昨天怎么弄的  
快速回复
限100 字节
 
上一个 下一个