• 6925阅读
  • 4回复

紧急求助!!!关于arm版本下QWT库移植出现的错误????[ [复制链接]

上一主题 下一主题
离线jiayouwyhit
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-18
我的界面程序中调用了qwt库,为什么我在本地虚拟机下,用qmake 命令生成Makefile文件,然后用make命令编译,能够顺利通过编译,生成可执行文件。
但是我现在想把该界面移植到ARM板里面,我用tmake 生成Makefile 文件,然后编译,确总是报错,说找不到libqwt库,错误提示如下所示:
/usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/../../../../arm-linux/bin/ld: skipping incompatible /usr/local/qwt-5.2.0/lib//libqwt.so when searching for -lqwt
/usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/../../../../arm-linux/bin/ld: cannot find -lqwt
collect2: ld returned 1 exit status
make: *** [mydata_plot] 错误:

已经整了三天了,还是完全不知道怎么解决这个问题,麻烦哪位大虾帮帮忙啊!!!!

怀疑是不是Makefiel的问题,我把该文件贴出来:

#############################################################################
# Makefile for building mydata_plot
# Generated by tmake at 16:40, 2011/04/17
# Project: data_plot
# Template: app
#############################################################################

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

CC = arm-linux-gcc
CXX = arm-linux-g++
CFLAGS = -pipe -Wall -W -O2 -D_REENTRANT -DNO_DEBUG -DQT_THREAD_SUPPORT
CXXFLAGS= -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -D_REENTRANT -DNO_DEBUG -DQT_THREAD_SUPPORT
INCPATH = -I/usr/local/qwt-5.2.0/include -I$(QTDIR)/include -I$(QPEDIR)/include -I/usr/lib/qt-3.3/include
LINK = arm-linux-g++
LFLAGS =  
LIBS = $(SUBLIBS) -L/usr/local/arm/3.3.2/lib -L$(QTDIR)/lib -lm -L/usr/local/qwt-5.2.0/lib/ -lqwt -lqte-mt -lpthread  
MOC = $(QTDIR)/bin/moc
UIC = $(QTDIR)/bin/uic

TAR = tar -cf
GZIP = gzip -9f

####### Files

HEADERS = data_plot.h \
  thread.h \
  mainwindow.h
SOURCES = data_plot.cpp \
  main.cpp \
  thread.cpp \
  mainwindow.cpp
OBJECTS = data_plot.o \
  main.o \
  thread.o \
  mainwindow.o
INTERFACES =  
UICDECLS =  
UICIMPLS =  
SRCMOC = moc_data_plot.cpp \
  moc_mainwindow.cpp
OBJMOC = moc_data_plot.o \
  moc_mainwindow.o
DIST =  
TARGET = mydata_plot
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: data_plot.pro
  tmake data_plot.pro -o Makefile

dist:
  $(TAR) data_plot.tar data_plot.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST)
  $(GZIP) data_plot.tar

clean:
  -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET)
  -rm -f *~ core

####### Sub-libraries


###### Combined headers


####### Compile

data_plot.o: data_plot.cpp \
  data_plot.h

main.o: main.cpp \
  mainwindow.h \
  thread.h \
  data_plot.h

thread.o: thread.cpp \
  thread.h

mainwindow.o: mainwindow.cpp \
  mainwindow.h \
  thread.h \
  data_plot.h

moc_data_plot.o: moc_data_plot.cpp \
  data_plot.h

moc_mainwindow.o: moc_mainwindow.cpp \
  mainwindow.h \
  thread.h \
  data_plot.h

moc_data_plot.cpp: data_plot.h
  $(MOC) data_plot.h -o moc_data_plot.cpp

moc_mainwindow.cpp: mainwindow.h
  $(MOC) mainwindow.h -o moc_mainwindow.cpp

我设置环境变量的脚本文件:
#!/bin/bash
export QTDIR=/home/build_qte/qt-2.3.7
export QPEDIR=/home/build_qte/qtopia-free-1.7.0
export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib:/usr/local/qwt-5.2.0/lib: $LD_LIBRARY_PATH
export TMAKEDIR=/home/build_qte/tmake-1.11
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export PATH=$QTDIR/bin:$TMAKEDIR/bin:/usr/local/arm/3.3.2/bin:$QPEDIR/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/qwt-5.2.0/lib:$LD_LIBRARY_PATH
离线jiayouwyhit
只看该作者 1楼 发表于: 2011-04-18
各位大侠帮帮忙啊啊啊!!!!
离线yaotong195

只看该作者 2楼 发表于: 2011-04-19
移植一般需要:
1。下载模块源码并交叉编译。
2。配置QT中引用该模块。
3。交叉编译QT。
你的MakeFile是交叉编译QT后根据MakeFile模板生成的。
离线jiayouwyhit
只看该作者 3楼 发表于: 2011-04-19
回 2楼(yaotong195) 的帖子
大侠能否说的具体点,小弟很糊涂。  你说的是我应该交叉编译QWT模块还是QT什么的?本地的QT我已经装好了,版本是QT3.3,用于交叉编译的QTE我也安装好了,版本是QT2.3.7,不知道你具体说的是什么。  
另外我的错误提示说找不到libqwt.so,但是我在对应的目录下/usr/local/qwt-5.2.0/lib//libqwt.so,确实有该文件啊,而且我已经把该目录在Makefile文件中添加到库文件的搜素路径了的啊(LIBS = $(SUBLIBS) -L/usr/local/arm/3.3.2/lib -L$(QTDIR)/lib -lm -L/usr/local/qwt-5.2.0/lib/ -lqwt -lqte-mt -lpthread  
)。
离线jnny_cn

只看该作者 4楼 发表于: 2012-03-02
给你我的qwt试试,直接考到你的开发版中可能能用

armv5架构编译,

qt4.8

qt-embedded-qwt6-lib.tar   ----------qt-embedded版本
qt-embedded-qwt6-lib.tar.bz2 (428 K) 下载次数:9
qt-x11-qwt6-lib.tar              ----------qt-x11版本
qt-x11-qwt6-lib.tar.bz2 (434 K) 下载次数:3
快速回复
限100 字节
 
上一个 下一个