加载中…
个人资料
莫一剑
莫一剑
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,069,509
  • 关注人气:104
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

ekho移植到arm环境(Ubuntu)

(2016-10-14 14:48:24)
分类: 嵌入式

10月16日,OSC源创会走进重庆,不见不散!>>> »  https://my.oschina.net/img/hot3.png

@黄冠能 你好,想跟你请教个问题:

您好,今天看了一天关于ekho的相关资料,最后还是又有解决不了的问题,还是想求您给个指导意见。

我想把这个ekho移植到tslib下的arm环境下。可是遇到了两个问题:

1.由于arm环境下,./configure CC需要arm-linux-gcc工具链。可是我在Makefile中,和./configure前都修改了命令。但是编译还是没有将gcc变成arm下的编译工具

2.在csdn上看到介绍Ekho的文章。下面有个哥们回复,说arm板移植的时候,make一步出现了错误提示是无法识别的寄存器名。

请问,ekho能否移植到arm板上呢?

按票数排序  显示最新答案   共有8个答案 (最后回答: 1年前 )

  • 0
  • 问题1已经解决了.

    问题2我遇到后将报错的地方(提示arm-linux-gcc识别不了asm关键字下的%cx等),define了一个宏,让程序不走会变代码(我也不知道这段代码干什么用的,没仔细看)。

    后来又遇到了需要自己交叉编译sndfile.a等

    但是最后还是卡在了一个地方。提示如下log

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    configure: WARNING: unrecognized options: --without-pulseaudio
    root@edo-desktop:/home/rootfs/ekho-5.7# make
    make  all-am
    make[1]: 正在进入目录 `/home/rootfs/ekho-5.7'
    arm-linux-g++ -DHAVE_CONFIG_H -I.    -I./utfcpp/source -I./sonic   -I./sr-convert -DOUTPUT16BIT -D_`uname -p` -pthread  -g -O2 -O0 -MT libekho_a-ekho_dict.o -MD -MP -MF .deps/libekho_a-ekho_dict.Tpo -c -o libekho_a-ekho_dict.o `test -f 'src/ekho_dict.cpp' || echo './'`src/ekho_dict.cpp
    In file included from src/character.h:27,
                     from src/ekho_dict.h:25,
                     from src/ekho_dict.cpp:27:
    src/phonetic_symbol.h: In member function 'const char* ekho::PhoneticSymbol::getPcm(const char*, const char*, int&, SF_INFO&)':
    src/phonetic_symbol.h:129: error: 'SF_FORMAT_VORBIS' was not declared in this scope
    src/ekho_dict.cpp: In member function 'int ekho::Dict::getSymbolCode(ekho::SymbolLetter*, const char*)':
    src/ekho_dict.cpp:859: error: 'rpl_malloc' was not declared in this scope
    src/ekho_dict.cpp:869: error: 'rpl_malloc' was not declared in this scope
    make[1]: *** [libekho_a-ekho_di



    不知道怎么解决了。黄老师,快出现把。。
    评论(0)| 引用此答案| 举报 (2014-09-04 14:32)
  • 0
  • Ekho应该不能简单地通过configure完成arm的移植,至少我自己没有做过。如果要移植就得先把依赖的软件移植。我把Ekho移植到Android平台时是重新编写Makefile的。

    SF_FORMAT_VORBIS是在sndfile库里定义的,你看是不是少了引用头文件。

    rpl_malloc函数我没有印象,是不是你自己改的?

    你使用了--without-pulseaudio参数会令到ekho不能直接发声,只可以使用生成音频文件的功能。

    评论(0)| 引用此答案| 举报 (2014-09-05 10:17)
  • 0
  • 您好我在ARM平台安装Ekho,报错
    /sr-convert/sr-convert.cpp:318:4: error: unknown register name ‘�x’ in ‘asm’
    ./sr-convert/sr-convert.cpp:318:4: error: unknown register name ‘�x’ in ‘asm’
    Makefile:832: recipe for target 'src/libekho_a-libekho.o' failed
    make[1]: *** [src/libekho_a-libekho.o] Error 1
    make[1]: Leaving directory '/root/ekho-6.0'
    Makefile:441: recipe for target 'all' failed
    make: *** [all] Error 2
    评论(0)| 引用此答案| 举报 (2014-09-26 14:32)
  • 0
  • ./configure CXXFLAGS="-DNO_SSE"  就不会报错了。
    评论(0)| 引用此答案| 举报 (2014-09-29 17:40)
  • 0
  • 谢谢黄老师的解答。
    评论(0)| 引用此答案| 举报 (2014-10-11 10:29)
  • 0
  • 报错误

    src/ekho_dict.cpp:859: error:'rpl_malloc'was not declared inthisscope

    src/ekho_dict.cpp:869: error:'rpl_malloc'was not declared inthisscope

    的解决办法是,把文件"config.h"中如下宏定义注释掉

    #define malloc rpl_malloc

    注意:由于文件“config.h”是执行"./configure ...."自动生成的,所以每次重新执行后都要重新修改。


    评论(0)| 引用此答案| 举报 (2014-10-17 14:07)
  • 0
  • 问题1解决了。说出来,大家分享一下。你解决了就不说了。别人都停留在第一步,怎么跟你一起探讨第二步。
    评论(0)| 引用此答案| 举报 (2014-12-15 20:51)
  • 0
  • 请问第一步交叉编译怎么解决的? 我自己编译了一个sndfile,用arm-linux-gcc 但是总是报configure: error: sndfile test failed


    配置命令为  ./configure --host=arm-linux CC=arm-linux-gcc --without-pulseaudio  



1.  ./configure CC需要arm-linux-gcc工具链。可是我在Makefile中,和./configure前都修改了命令。但是编译还是没有将gcc变成arm下的编译工具


解决方法:./configure --host=arm-linux CC=arm-linux-gcc ......

2. error:'rpl_malloc'was not declared inthisscope

解决方法:把文件"config.h.in"中如下宏定义注释掉//#undef malloc

3. make一步出现了错误提示是无法识别的寄存器名:

解决方法:./configure CXXFLAGS="-DNO_SSE"

4. --without-pulseaudio  不可以使用

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有