本文主要是介绍How to use obex-data-server to transfer a file on ARM-xScale platform (原创),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.
接上文 obex-data-server 已经运行起来了
接下来就可以运行obex-data-server/test 下的ods-dbus-test 来测试OPP 功能了
# ./ods-dbus-test 00:1B:FB:17:6B:E1 OPP /test.txt
** Message: CreateBluetoothSession ("00:1B:FB:17:6B:E1", "00:00:00:00:00:00", "OPP")
** Message: Object path: /org/openobex/session0
** Message: Session connected: /org/openobex/session0
** Message: SendFile ("/test.txt")
** (process:317): WARNING **: Error: Message did not receive a reply (timeout by message bus)
再看一下./obex-data-server 进程的log发现输出如下错误
** Message: session_connect_result_cb
** Message: LOCK
** Message: ods_filename_to_utf16 error: Conversion from character set 'UTF8' to 'UTF16BE' is not supported
Segmentation fault
2.
在完颜的提醒下,发现glib-2.18下确实没有把iconv的库编译进去。于是立即下载 libiconv-1.12 并编译
cross compile libiconv-1.12
./configure --host=arm-xscale-linux-gnu --prefix=/usr/arm-xscale-linux-gnu
make & make install
3.
重新编译glib-2.18
echo ac_cv_type_long_long=yes>arm-linux.cache
echo glib_cv_stack_grows=no>>arm-linux.cache
echo glib_cv_uscore=no>>arm-linux.cache
echo ac_cv_func_posix_getpwuid_r=yes>>arm-linux.cache
echo ac_cv_func_posix_getgrgid_r=yes>>arm-linux.cache
./configure --host=arm-xscale-linux-gnu --cache-file=arm-linux.cache --prefix=/usr/arm-xscale-linux-gnu --with-libiconv=gnu
configure出错
checking for libiconv_open in -liconv... no
configure: error: *** No iconv() implementation found in C library or libiconv
查看config.log
configure:8418: checking for libiconv_open in -liconv
configure:8453: arm-xscale-linux-gnu-gcc -o conftest -g -O2 conftest.c -liconv >&5
/opt/gcc-4.1.2-glibc-2.4/arm-xscale-linux-gnu/lib/gcc/arm-xscale-linux-gnu/4.1.2/../../../../arm-xscale-linux-gnu/bin/ld: cannot find -liconv
发现iconv 根本不支持pkgconfig,参./configure --help的帮助 加入 CFLAGS LDFLA
这篇关于How to use obex-data-server to transfer a file on ARM-xScale platform (原创)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!