我有一个带有 debian 7.5 的 Beaglebone Black。
我的主机是32 位 Ubuntu 14.10安装。
我正在使用Qt4.8.6进行手臂交叉编译
我正在尝试创建一个使用触摸屏并从键盘读取 MIDI 输入的应用程序。我已经使用以下教程(http://embedded.von-kannen.net/2014/05/21/qt-4-8-6-on-beaglebone-black/)安装 Qt Embedded,以便我可以交叉编译到我的 beaglebone(教程需要一些修复,如果有人需要,我已经准备好“修复”文档)
这些文件被部署到小猎犬上并且它们工作了,尽管校准屏幕总是需要一些额外的输入。这一切都很好,直到我的 Qt 项目需要 RtMidi 库来读取和发送 MIDI 信号。我可以在我的桌面上用 RtMidi 编译所有东西,但是当我尝试为 BBB 构建时,我会收到以下内容:
Cannot find -lasound
collect2: error: ld returned 1 exit status
我怀疑我需要为 arm 构建 ALSA,我试图在此帮助下做到这一点:http ://www.omappedia.org/wiki/ALSA_Setup
花了一些努力,但我想我设法得到了一些东西。唉,当我将我的创作添加到 Qt 时:
DEFINES += __LINUX_ALSA__
LIBS += -L/path/to/folder/containing/asound -lasound
我受到了欢迎:
undefined reference to: '__pol_chk#GLIBC_2.16' in /.../libasound.so file
collect2: error: ld returned 1 exit status
我要么做错了,要么它不再起作用了。
我使用arm-linux-gnueabi-c++/gcc而不是arm-none-linux-gnueabi-c++/gcc因为我理解 arm-none-linux-gnueabi 的东西属于 codesourcery 工具链?反正我没有 arm-none-linux-gnueabi 的东西......如果这是我的全部问题,我该如何得到它?
坦率地说,我很迷茫。我什至不知道 arm ALSA 是否是问题所在。我对 Ubuntu 不是特别熟悉,也不是很舒服,但我别无选择。Windows 的教程都需要 codesourcery 工具链,该工具链不再免费提供,而 ubuntu 教程的信息量更大,而且很少见……我正在做的所有教程似乎都已经过时了。一切都是为旧的 Angstrom 发行版制作的,并且不再真正有效......此时我完全不知道应该做什么才能让它工作。
我需要帮助。最好附上你给 5 岁孩子的指示(清楚地说明步骤和终端输入......)
我不确定我需要提供哪些其他信息,所以如果我遗漏了任何信息,请询问。
- 如果重要的话,我的编程语言是 C++。
- 到目前为止,我一直使用 Linaro 工具链,因为它是我遵循的教程中使用的。