讯飞在线命令识别 动态库 交叉编译后找不到的问题
来源:互联网 发布:网络打印app 编辑:程序博客网 时间:2024/05/01 01:29
环境配置:
树莓派B+ , ubuntu 14.04, ROS, wiringPi, vs1003B, 讯飞在线语音识别库
系统功能:
通过vs1003的麦克风采集声音,然后将声音转码为讯飞要求的pcm格式,然后在树莓派中调用讯飞提供的在线命令识别API,完成语音识别功能.
碰到的问题:
开始时从网上找了比较流行的arm-linux-gcc 4.4.3版本的交叉编译器,在PC上所有代码和库都能编译通过.
将交叉编译器交给讯飞开发人员后,他们免费提供了在线的命令识别动态库.
将自己代码和讯飞语音库等编译通过,但是运行时发现找不到libmsc.so库. 通过ldd命令,可以看到找不到libmsc.so的提示.
解决的过程:
在网上搜索了很多帖子,大多是让修改LD_LIBRARY_PATH或者/etc/ld.so.conf文件,然后运行sudo ldconfig -v命令,但是依然无法找到.
后来怀疑是我的树莓派B+运行的 arm-linux-gnueabihf 4.6.3版本的编译器,与提供给讯飞的编译器不一致,可能是库不一致,导致的问题.
本来打算自己用crosstool-ng生成一个交叉编译器,但是考虑到时间成本,后来还是在网上搜到了树莓派本身提供的交叉编译器.
可以参考帖子:
http://www.cnblogs.com/emouse/archive/2013/06/07/3124063.html
或者从CSDN下载:
http://download.csdn.net/detail/canyue102/6725615
验证:
后来我在PC上自己用树莓派提供的交叉编译器和自己在网上找到的4.4.3的编译器,分别自己生成了2个动态库,在树莓派上运行发现,的确,用树莓派提供的交叉编译器,可以被
在树莓派上编译生成的程序找到,4.4.3的则无法找到.
- 讯飞在线命令识别 动态库 交叉编译后找不到的问题
- 讯飞在线命令识别 动态库 交叉编译后找不到的问题
- Linux环境下ARM交叉编译找不到libz.so.1的动态库
- Linux环境下RPM交叉编译找不到libz.so.1的动态库
- ubuntu交叉编译 arm-linux-命令找不到
- ubuntu交叉编译 arm-linux-命令找不到
- 交叉编译找不到头文件问题
- qt编译不识别tslib报找不到问题的解决
- 交叉编译自己的动态库
- 【linux c开发】GCC 编译链接后找不到动态库
- 解决acadia交叉编译后程序不能运行的问题。
- ubuntu安装交叉编译器后不能编译的问题
- SDL库和交叉编译的命令
- linux 交叉编译找不到库文件
- 交叉编译找不到creat_pthread
- linux新加动态库后,使用中遇到的找不到的问题以及ldconfig讲解
- 有关用crosstool-ng编译交叉工具链出现找不到expat的问题的解决办法
- 交叉编译库依赖问题的解决方法
- 各种排序算法的分析及java实现
- gdb调试使用frame i命令
- Codeforces Round #309 (Div. 1) A B C
- Linux的sleep()和usleep()的使用和区别
- Servlet中初始化参数和上下文参数的配置
- 讯飞在线命令识别 动态库 交叉编译后找不到的问题
- ubuntu deepin 使用chkconfig sysv-rc-conf 命令来管理服务
- 经wsgi保证后的request的environ属性
- Delphi XE8 判断安卓APP第一次启动
- Aop拦截到的Action 使得@Autowired 无法自动装配问题解决
- Mac Intellij IDEA 14 JRebel6.2.0 破解版安装
- Hibernate单表操作(一)——单一主键
- iOS真机测试
- Zxing使用及常见错误(iOS)