• 4678阅读
  • 6回复

问一个关于交叉编译的问题 [复制链接]

上一主题 下一主题
离线miaoronghua
 
只看楼主 倒序阅读 楼主  发表于: 2008-04-13
— 本帖被 XChinux 执行加亮操作(2008-04-14) —
小弟刚开始在公司上班,大学刚毕业,在公司做GUI跑LINUX,上一班子全都跳光了,烂摊子人给我了,刚开始学,对于环境还不是很熟,先介绍一下,PC上用QT-free-X11-3.3.4,(问个问题-现在我是做ARM11的板子,听经理说,库前辈已经移植好了,他移植的是QTE还是QTOPIA?)小弟刚开始问点傻问题哈哈 ,在DESIGNER中写了带串口调试的APP,现在文件夹里有三个文件mian.cpp,uart.ui,uart.ui.h程序没问题,现在我QMAKE生成MAKEFILE,再MAKE一下也很好,执行一下,跑一下,PC上通过了,接着我修改MAKEFILE(其中的LINK,LIBS都已经修改好了)交叉编译一下,问题出来了,改过的MAKEFILE会自动改回来,不知道是什么问题,请各位前辈指点,小弟感激不尽
离线owenbbkp

只看该作者 1楼 发表于: 2008-04-14
你是说用qmake重新生成Makefile文件之后,Makefile文件会自动改回来吗?
简单的做法是,手动修改Makefile,以后不要执行qmake,直接执行make就行了
离线miaoronghua
只看该作者 2楼 发表于: 2008-04-15
这个做法我已经试过了,可是还是会改回来,我估计是QMAKE生成的MAKEFILE对QMAKE有依赖性,所以还是会改回来,只能修改里面的内容了,可是我改不来,呵呵,现在我用TMAKE,又遇到问题,问题是找不到LIB里面的app.t和tmake.conf,能给我点添加库的方法吗?
离线miaoronghua
只看该作者 3楼 发表于: 2008-04-15
我已经试过在/etc/ld.so.conf中修改添加一些库,可是还是找不到,我试过将这两个文件app.t  tmake.conf加入当前目录,但是依赖的关系太多,我没办法了呵呵
离线owenbbkp

只看该作者 4楼 发表于: 2008-04-15
我没试过TMAKE.如果仅仅是找不到库的问题,可以试试修改LD_LIBRARY_PATH。
离线miaoronghua
只看该作者 5楼 发表于: 2008-04-15
我先问个的问题,在QT-FREE-X11-3.3.4上面写好的程序经过了make通过了,通过修改MAKEFILE如果环境什么都对的话可以移植到开发板上面QTOPIA上面去吗?明天我把我的MAKEFILE发上来大家帮我出出主意。谢谢还有我的环境也发上来
离线miaoronghua
只看该作者 6楼 发表于: 2008-04-16
这里是我用TMAKE生成的MAKEFILE
自己修改了交叉编译工具arm-none-linux-gnueabi-gcc arm-none-linux-gnueabi-g++
也添加了LIBS,内容如下:(关于LIBS最后一个参数-lqte是怎么回事,应该用-lqt?请大哥们指点)MAKE 的时候他说/ld:-lqte not found问题出在哪里?
在/etc/ld.so.conf中我添加了以下内容
/home/jerry/ltib-imx31ads-20071008/rpm/BUILD/qtopia-free-2.2.0/qt2/lib
/home/jerry/ltib-imx31ads-20071008/rpm/BUILD/qtopia-free-2.2.0/qtopia/lib
/home/jerry/ltib-imx31ads-20071008/rpm/BUILD/qtopia-free-2.2.0/tmake/lib
在~/.bash_profile中我也添加了全局变量QTDIR QPEDIR TMAKEDIR TMAKEPATH 都没有问题,呵呵要不要添加LD_LIBRARY_PATH?
############################################################################
# Makefile for building hello
# Generated by tmake at 11:07, 2008/04/16
#    Project: hello
#    Template: app
#############################################################################

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

CC    =    arm-none-linux-gnueabi-gcc
CXX    =    arm-none-linux-gnueabi-g++
CFLAGS    =    -pipe -Wall -W -O2 -DNO_DEBUG
CXXFLAGS=    -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG
INCPATH    =    $(QTDIR)/include
LINK    =    arm-none-linux-gnueabi-g++
LFLAGS    =   
LIBS    =    $(SUBLIBS)-L/home/jerry/ltib-imx31ads-20071008/rpm/BUILD/arm-none-linux-gnueabi/lib -L$(QTDIR)/lib -lm -lstdc++ -lqte
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
[ 此贴被miaoronghua在2008-04-16 12:53重新编辑 ]
快速回复
限100 字节
 
上一个 下一个