读书人

为什么小弟我的QT程序不能运行?(!)

发布时间: 2012-02-02 23:57:14 作者: rapoo

为什么我的QT程序不能运行?(在线等!)
我的程序如下: #include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton hello("hello QT!");
hello.resize(100,30);
hello.show();
return app.exec();
}


编译过程:qmake -project
qmake
make
我用的不是交叉编译,Makefile内容如下:#############################################################################
# Makefile for building: qt
# Generated by qmake (2.01a) (Qt 4.4.0-rc1) on: Sun Jan 4 10:27:27 2009
# Project: qt.pro
# Template: app
# Command: /usr/local/Trolltech/QtEmbedded-4.4.0-rc1/bin/qmake -unix -o Makefile qt.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/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/qws/linux-x86-g++ -I. -I/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/include/QtCore -I/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/include/QtCore -I/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/include/QtNetwork -I/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/include/QtNetwork -I/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/include/QtGui -I/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/include/QtGui -I/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/include -I. -I. -I.
LINK = g++
LFLAGS = -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/lib
LIBS = $(SUBLIBS) -L/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/lib -lQtGui -L/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/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/Trolltech/QtEmbedded-4.4.0-rc1/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 = 44.cpp
OBJECTS = 44.o
DIST = /usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/common/unix.conf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/qconfig.pri \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/qt_functions.prf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/qt_config.prf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/exclusive_builds.prf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/default_pre.prf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/release.prf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/default_post.prf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/warn_on.prf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/qt.prf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/unix/thread.prf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/moc.prf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/resources.prf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/uic.prf \
/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/yacc.prf \


/usr/local/Trolltech/QtEmbedded-4.4.0-rc1/mkspecs/features/lex.prf \
qt.pro
QMAKE_TARGET = qt
DESTDIR =
TARGET = qt

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 "$@" "$<"

部分省略。。。。。



编译完成后生成44.o文件,在linux下输入: ./44.o
结果为: cannot execute binary file

哪位达人能为我解惑啊?100分只送达人!

[解决办法]
44.o 是 object 文件,需要经过 link 才能成为可执行文件

qmake 执行一般是源码的当前目录

lz 确定没有生成 qt 这个文件


[解决办法]
.o 是目标文件,你应该执行./qt,这才是可执行文件
qmake -project hello.pro
qmake -o Makefile hello.pro
make
./hello
还有你是在arm平台下运行的吗
这里是qt的参考文档
http://www.qtopia.org.cn/doc/qiliang.net/qt/index.html

读书人网 >UNIXLINUX

热点推荐