同一个hello程序
为什么用tmake生成Makefile, 再make之后生成的程序 能在2410板子上运行
用qmake生成Makefile, make之后生成的程序 就不能在2410板子上运行呢
我用的版本是
qt-embedded-free-3.3.5(自带的qmake)
tmake-1.11
程序也是qte3.3.5自带的hello程序
请大家帮帮忙啊!!!!!!
我把两个Makefile 文件贴上来
这个是qmake生成的:
CC = arm-linux-gcc
CXX = arm-linux-g++
LEX = flex
YACC = yacc
CFLAGS = -pipe -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED
CXXFLAGS = -pipe -DQWS -fno-exceptions -fno-rtti -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED
LEXFLAGS =
YACCFLAGS= -d
INCPATH = -I/target/qt-target/mkspecs/qws/linux-arm-g++ -I. -I. -I/target/qt-target/include -I.moc/release-shared-mt-emb-arm/
LINK = arm-linux-g++
LFLAGS = -Wl,-rpath,/target/qt-target/lib
LIBS = $(SUBLIBS) -L/target/qt-target/lib -lqte-mt -ldl -lpthread
AR = ar cqs
RANLIB =
MOC = /target/qt-target/bin/moc
UIC = /target/qt-target/bin/uic -L /target/qt-target/plugins
QMAKE = /target/qt-target/bin/qmake
TAR = tar -cf
GZIP = gzip -9f
COPY = cp -f
COPY_FILE= $(COPY)
COPY_DIR = $(COPY) -R
INSTALL_FILE= $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)
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 = .obj/release-shared-mt-emb-arm/
####### Files
HEADERS = hello.h
SOURCES = hello.cpp \
main.cpp
OBJECTS = .obj/release-shared-mt-emb-arm/hello.o \
.obj/release-shared-mt-emb-arm/main.o
FORMS =
UICDECLS =
UICIMPLS =
SRCMOC = .moc/release-shared-mt-emb-arm/moc_hello.cpp
OBJMOC = .obj/release-shared-mt-emb-arm/moc_hello.o
DIST = hello.pro
QMAKE_TARGET = hello
DESTDIR =
TARGET = hello
first: all
####### Implicit rules
.SUFFIXES: .c .o .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): $(UICDECLS) $(OBJECTS) $(OBJMOC)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(OBJCOMP) $(LIBS)
mocables: $(SRCMOC)
uicables: $(UICDECLS) $(UICIMPLS)
$(MOC):
( cd /target/qt-target/src/moc && $(MAKE) )
Makefile: hello.pro ../../.qmake.cache /target/qt-target/mkspecs/qws/linux-arm-g++/qmake.conf ../../lib/libqte-mt.prl
$(QMAKE) -o Makefile hello.pro
qmake:
@$(QMAKE) -o Makefile hello.pro
dist:
@mkdir -p .obj/release-shared-mt-emb-arm/hello && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .obj/release-shared-mt-emb-arm/hello/ && ( cd `dirname .obj/release-shared-mt-emb-arm/hello` && $(TAR) hello.tar hello && $(GZIP) hello.tar ) && $(MOVE) `dirname .obj/release-shared-mt-emb-arm/hello`/hello.tar.gz . && $(DEL_FILE) -r .obj/release-shared-mt-emb-arm/hello
mocclean:
-$(DEL_FILE) $(OBJMOC)
-$(DEL_FILE) $(SRCMOC)
uiclean:
yaccclean:
lexclean:
clean: mocclean
-$(DEL_FILE) $(OBJECTS)
-$(DEL_FILE) *~ core *.core
####### Sub-libraries
distclean: clean
-$(DEL_FILE) $(TARGET) $(TARGET)
FORCE:
####### Compile
.obj/release-shared-mt-emb-arm/hello.o: hello.cpp hello.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o .obj/release-shared-mt-emb-arm/hello.o hello.cpp
.obj/release-shared-mt-emb-arm/main.o: main.cpp hello.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o .obj/release-shared-mt-emb-arm/main.o main.cpp
.obj/release-shared-mt-emb-arm/moc_hello.o: .moc/release-shared-mt-emb-arm/moc_hello.cpp hello.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o .obj/release-shared-mt-emb-arm/moc_hello.o .moc/release-shared-mt-emb-arm/moc_hello.cpp
.moc/release-shared-mt-emb-arm/moc_hello.cpp: $(MOC) hello.h
$(MOC) hello.h -o .moc/release-shared-mt-emb-arm/moc_hello.cpp
####### Install
install:
uninstall:
下面这个是用tmake生成的:
####### Compiler, tools and options
CC = arm-linux-gcc
CXX = arm-linux-g++
CFLAGS = -pipe -Wall -W -O2 -DNO_DEBUG
CXXFLAGS= -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG
INCPATH = -I. -I$(QTDIR)/include
LINK = arm-linux-g++
LFLAGS =
LIBS = $(SUBLIBS) -L$(QTDIR)/lib -lm -lqte-mt
MOC = $(QTDIR)/bin/moc
UIC = $(QTDIR)/bin/uic
TAR = tar -cf
GZIP = gzip -9f
####### Files
HEADERS = hello.h
SOURCES = hello.cpp \
main.cpp
OBJECTS = hello.o \
main.o
INTERFACES =
UICDECLS =
UICIMPLS =
SRCMOC = moc_hello.cpp
OBJMOC = moc_hello.o
DIST =
TARGET = hello
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)
$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
moc: $(SRCMOC)
tmake: Makefile
Makefile: hello.pro
tmake hello.pro -o Makefile
dist:
$(TAR) hello.tar hello.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST)
$(GZIP) hello.tar
clean:
-rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET)
-rm -f *~ core
####### Sub-libraries
###### Combined headers
####### Compile
hello.o: hello.cpp \
hello.h
main.o: main.cpp \
hello.h
moc_hello.o: moc_hello.cpp \
hello.h
moc_hello.cpp: hello.h
$(MOC) hello.h -o moc_hello.cpp