ekho移植到arm环境(Ubuntu)

发布于 2021-11-22 18:58:32 字数 444 浏览 813 评论 7

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

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

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

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

伪装你 2021-11-29 15:09:21

请问第一步交叉编译怎么解决的? 我自己编译了一个sndfile,用arm-linux-gcc 但是总是报configure: error: sndfile test failed

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

多彩岁月 2021-11-29 12:41:00

问题1解决了。说出来,大家分享一下。你解决了就不说了。别人都停留在第一步,怎么跟你一起探讨第二步。

乞讨 2021-11-27 20:59:12

报错误

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 ...."自动生成的,所以每次重新执行后都要重新修改。

嘦怹 2021-11-27 11:28:26

谢谢黄老师的解答。

猫九 2021-11-25 12:09:21

您好我在ARM平台安装Ekho,报错

/sr-convert/sr-convert.cpp:318:4: error: unknown register name ‘%ebx’ in ‘asm’

./sr-convert/sr-convert.cpp:318:4: error: unknown register name ‘%eax’ 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

秉烛思 2021-11-23 18:15:15

Ekho应该不能简单地通过configure完成arm的移植,至少我自己没有做过。如果要移植就得先把依赖的软件移植。我把Ekho移植到Android平台时是重新编写Makefile的。

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

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

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

风苍溪 2021-11-23 04:31:32

问题1已经解决了.

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

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

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

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

不知道怎么解决了。黄老师,快出现把。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文