求教:Qt4.7.1 交叉编译环境配置 编译 tslib报错
参考飞凌OK210资料“Ubuntu下Qt4.7.1编译环境配置说明.pdf”参考资料具体内容如下:
Qt4.7.1交叉编译环境配置
PC 环境:Ubuntu12.04
开发板:OK210
交叉编译器:arm-2009q3(即 4.4.1)
1. 编译 tslib
tslib 库,是触摸屏校准时需要的库文件,如对触摸屏的数据进行过滤、去抖动等,QT 的库会调用 tslib 的库文件。编译 tslib 库:
1.1 将 tslib.tar.gz,拷到 Ubuntu 下,解压 tar xzvf tslib.tar.gz ;
1.2 安装 autoconf、automake、libtool 包
在 Ubuntu 命令行中分别执行以下三个升级命令。
#sudo apt-get install autoconf
#sudo apt-get install automake
#sudo apt-get install libtool
#sudo apt-get install g++
1.3 进入 tslib 目录:
cd tslib;
设置环境变量
#export PATH=/usr/local/arm/arm-2009q3/bin:$PATH
#export TOOLCHAIN=/usr/local/arm/arm-2009q3
#export TB_CC_PREFIX=arm-linux-
#export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-linux
1.4 在 tslib 目录下运行脚本
./autogen.sh
1.5 用 configure 生成 Makefile.
echo "ac_cv_func_malloc_0 _nonnull=yes">arm-linux.cache
# ./configure --host=arm-linux
--cache-file=arm-linux.cache
--enable-inputapi=no
PLUGIN_DIR=/usr/local/arm/tslib/plugins
-prefix=/usr/local/arm/tslib
-host=arm-linux
--cache-file=arm-linux.cache 2>&1 | tee conf_log
1.6 编译安装
make 2>& | tee make_log
1.7 make install
1.8 编译完成后检查主机目录 ‘/usr/local/arm/’下面是否已经有了‘tslib’文件夹 ,如果有的话,请修改 etc 文件夹下的‘ts.conf’ ,去掉“# module_raw input”中的#号和空格。
如果主机目录 ‘/usr/local/arm/’下没有‘tslib’文件夹,请将前面编译好的‘tslib’文件夹拷贝到‘/usr/local/arm’目录下。
另外需要把这个‘ tslib ’ 文件夹放到网络文件系统目录中的 ‘ /usr/local ’ 下 面。
问题:
在按照上述步骤编译的过程中,执行完1.6步后报错如下:
root@ubuntu:~/tslib# make 2>&1 | tee make_log
makeall-recursive
make: Entering directory `/root/tslib'
** all in etc
make: Entering directory `/root/tslib/etc'
make: Nothing to be done for `all'.
make: Leaving directory `/root/tslib/etc'
** all in src
make: Entering directory `/root/tslib/src'
make: Nothing to be done for `all'.
make: Leaving directory `/root/tslib/src'
** all in plugins
make: Entering directory `/root/tslib/plugins'
make: Nothing to be done for `all'.
make: Leaving directory `/root/tslib/plugins'
** all in tests
make: Entering directory `/root/tslib/tests'
/bin/bash ../libtool --tag=CC --mode=link arm-linux-gcc-DGCC_HASCLASSVISIBILITY -O2 -Wall -W -o ts_test ts_test.o fbutils.o font_8x8.o font_8x16.o ../src/libts.la -ldl
libtool: link: arm-linux-gcc -DGCC_HASCLASSVISIBILITY -O2 -Wall -W -o .libs/ts_test ts_test.o fbutils.o font_8x8.o font_8x16.o../src/.libs/libts.so -ldl -Wl,-rpath -Wl,/usr/local/arm/tslib/lib
ts_test.o: In function `main':
ts_test.c:(.text+0x51c): undefined reference to `rpl_malloc'
fbutils.o: In function `open_framebuffer':
fbutils.c:(.text+0xbb4): undefined reference to `rpl_malloc'
collect2: ld returned 1 exit status
make: *** Error 1
make: Leaving directory `/root/tslib/tests'
make: *** Error 1
make: Leaving directory `/root/tslib'
make: *** Error 2
继续执行1.7步骤后报错如下(部分):
make: Nothing to be done for `install-data-am'.
make: Leaving directory `/root/tslib/plugins'
make: Leaving directory `/root/tslib/plugins'
** install in tests
make: Entering directory `/root/tslib/tests'
/bin/bash ../libtool --tag=CC --mode=link arm-linux-gcc-DGCC_HASCLASSVISIBILITY -O2 -Wall -W -o ts_test ts_test.o fbutils.o font_8x8.o font_8x16.o ../src/libts.la -ldl
libtool: link: arm-linux-gcc -DGCC_HASCLASSVISIBILITY -O2 -Wall -W -o .libs/ts_test ts_test.o fbutils.o font_8x8.o font_8x16.o../src/.libs/libts.so -ldl -Wl,-rpath -Wl,/usr/local/arm/tslib/lib
ts_test.o: In function `main':
ts_test.c:(.text+0x51c): undefined reference to `rpl_malloc'
fbutils.o: In function `open_framebuffer':
fbutils.c:(.text+0xbb4): undefined reference to `rpl_malloc'
collect2: ld returned 1 exit status
make: *** Error 1
make: Leaving directory `/root/tslib/tests'
make: *** Error 1
求教:
1. 如何消除执行1.6步骤产生的错误?如果忽略会不会影响后续应用程序的开发?
2. 1.8步骤中提到"把这个‘ tslib ’ 文件夹放到网络文件系统目录中的 ‘ /usr/local ’ 下 面",请问具体怎么操作?
本人刚刚开始接触Linux系统,第一次做Linux嵌入式应用程序开发,
刚刚起步,搭建开发环境就遇到了困难,希望飞凌技术支持热心网友能提供帮助,非常感谢!
1.6步骤应该是:make 2>&1 | tee make_log
页:
[1]