首页| 论坛| 消息

标题:jpeg 库的问题!!!
作者:youbug
日期:2008-05-15 22:10
内容:

首先我在我的linux 2.4里面装了jpeg库
过程如下:
./configure --prefix=/usr/local/arm/3.4.1/arm-linux --host=arm-linux --enable-shared --enable-static;
修改Makefile:
CC= /hao/toolchain/arm-linux/bin/arm-linux-gcc
AR= /hao/toolchain/arm-linux/bin/arm-linux-ar rc
AR2= /hao/toolchain/arm-linux/bin/arm-linux-ranlib
make
make install
装好了过后我可以编译运行v4l的应用程序可以在板子上面采集视频;
我的qtopia-core 4.2.2的安装也选择了(-system-libjpeg);
我在编译程序的步骤如下:
    1。qmake -project
在生成的pro文件里面加入了
           LIBS += -L/usr/local/arm/3.4.1/                     arm-linux/lib -ljpeg
    2。qmake
    3。make
然后出错如下:
  arm-linux-g++ -Wl,-rpath,/usr/local/Trolltech/QtopiaCore-4.2.2-arm/lib -o a a.o main.o moc_a.o -L/usr/local/Trolltech/QtopiaCore-4.2.2-arm/lib -ljpeg -L/usr/local/arm/3.4.1/arm-linux/lib -lQtGui -L/tmp/qtopia-core-opensource-src-4.2.2/lib -lQtNetwork -lQtCore -lm -ldl -lpthread
a.o(.text+0xe00): In function `put_image_jpeg(_IO_FILE*, unsigned char*, int, int, int, int)':
: undefined reference to `jpeg_std_error(jpeg_error_mgr*)'
a.o(.text+0xe18): In function `put_image_jpeg(_IO_FILE*, unsigned char*, int, int, int, int)':
: undefined reference to `jpeg_CreateCompress(jpeg_compress_struct*, int, unsigned int)'
a.o(.text+0xe44): In function `put_image_jpeg(_IO_FILE*, unsigned char*, int, int, int, int)':
: undefined reference to `jpeg_set_defaults(jpeg_compress_struct*)'
a.o(.text+0xe54): In function `put_image_jpeg(_IO_FILE*, unsigned char*, int, int, int,..


#1 [wjfree 05-16 22:36]
Makefile发出来看一下
#2 [youbug 05-17 20:56]
Makefile 如下:
#############################################################################
# Makefile for building: a
# Generated by qmake (2.01a) (Qt 4.2.2) on: ?? ?? 16 11:01:35 2008
# Project: a.pro
# Template: app
# Command: /usr/local/Trolltech/QtopiaCore-4.2.2-arm/bin/qmake -unix -o Makefile a.pro
#############################################################################
####### Compiler, tools and options
CC = arm-linux-gcc
CXX = arm-linux-g++
LEX = flex
YACC = yacc
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)
LEXFLAGS =
YACCFLAGS = -d
INCPATH = -I/usr/local/Trolltech/QtopiaCore-4.2.2-arm/mkspecs/qws/linux-arm-g++ -I. -I/usr/local/Trolltech/QtopiaCore-4.2.2-arm/include/QtCore -I/usr/local/Trolltech/QtopiaCore-4.2.2-arm/include/QtCore -I/usr/local/Trolltech/QtopiaCore-4.2.2-arm/include/QtNetwork -I/usr/local/Trolltech/QtopiaCore-4.2.2-arm/include/QtNetwork -I/usr/local/Trolltech/QtopiaCore-4.2.2-arm/include/QtGui -I/usr/local/Trolltech/QtopiaCore-4.2.2-arm/include/QtGui -I/usr/local/Trolltech/QtopiaCore-4.2.2-arm/include -I. -I. -I.
LINK = arm-linux-g++
LFLAGS = -Wl,-rpath,/usr/local/Trolltech/QtopiaCore-4.2.2-arm/lib
LIBS = $(SUBLIBS) -L/usr/local/Trolltech/QtopiaCore-4.2.2-arm/lib -L/usr/local/lib -ljpeg -lQtGui -L/tmp/qtopia-core-opensource-src-4.2.2/lib -lQtNetwork -lQtCore -lm -ldl -lpthread
AR = arm-linux-ar cqs
RANLIB = arm-linux-ranlib
QMAKE &nb ..
#3 [shiroki 05-20 13:48]
从命令行和Makefile里看不出哪儿有问题. 怀疑是你的toolchain里带的jpeg库有问题.
第一个可能是库确实没有包含jpeg的那些函数符号
第二个可能是库还是没有在搜索路径里, 链接的时候没找到.
从命令行看第一个可能性大一点.建议你找个jpegsrc自己交叉编译一个
#4 [youbug 05-20 16:40]
那个库是自己交叉编译的!
编译v4l的应用程序没有问题:
如下:#arm-linux-gcc videocap.c -ljpeg (如果没有加-ljpeg也出现类似上面的错误)
   a.out下载到试验箱里面能够采集视频啊!!
不知道具体是怎么回事,是不是有些细节有问题啊?
望高手不吝赐教!!!
#5 [lknlfy 05-22 13:18]
我也遇到这个问题,请问解决了没有呢?

回复 发表
主题 版块