BUG - ProteaAudio 和 Lua 配合使用无法工作。

有什么办法可以在 Lua 中使用或构建 ProTeaAudio 吗?

1)存在

[root@example ~]# yum install lua-devel
Loaded plugins: presto, refresh-packagekit
Setting up Install Process
Package lua-devel-5.1.4-4.fc12.i686 already installed and latest version
Nothing to do

2)构建RtAudio失败

[sun@example proteaAudio_src_090204]$ make
g++ -O2 -Wall  -DHAVE_GETTIMEOFDAY -D__LINUX_ALSA__  -Irtaudio -Irtaudio/include -I../lua/src -I../archive/baseCode/include -c rtaudio/RtAudio.cpp -o rtaudio/RtAudio.o
rtaudio/RtAudio.cpp:365: error: no ‘unsigned int RtApi::getStreamSampleRate()’ member function declared in classRtApirtaudio/RtAudio.cpp: In member functionvirtual bool RtApiAlsa::probeDeviceOpen(unsigned int, RtApi::StreamMode, unsigned int, unsigned int, unsigned int, RtAudioFormat, unsigned int*, RtAudio::StreamOptions*)’:
rtaudio/RtAudio.cpp:5835: error: ‘RTAUDIO_SCHEDULE_REALTIME’ was not declared in this scope
rtaudio/RtAudio.cpp:5837: error: ‘struct RtAudio::StreamOptions’ has no member named ‘priority’
make: *** [rtaudio/RtAudio.o] Error 1
[sun@example proteaAudio_src_090204]$

Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
> require("proAudioRt");
    stdin:1: module 'proAudioRt' not found:
     no field package.preload['proAudioRt']
     no file './proAudioRt.lua'
     no file '/usr/share/lua/5.1/proAudioRt.lua'
     no file '/usr/share/lua/5.1/proAudioRt/init.lua'
     no file '/usr/lib/lua/5.1/proAudioRt.lua'
     no file '/usr/lib/lua/5.1/proAudioRt/init.lua'
     no file './proAudioRt.so'
     no file '/usr/lib/lua/5.1/proAudioRt.so'
     no file '/usr/lib/lua/5.1/loadall.so'
    stack traceback:
     [C]: in function 'require'
     stdin:1: in main chunk
     [C]: ?

原文链接 https://stackoverflow.com/questions/4523062

点赞
stackoverflow用户68204
stackoverflow用户68204

Lua 告诉你它找不到模块 "proAudioRt" 的实现,它试图在各种地方找到它。第一组地方是尝试在 Lua 中加载实现,然后是在可能包含该模块的几个共享对象文件中尝试。由于这些地方都无效,require 失败了。

没有起作用,因为你实际上还没有构建一个包含该模块的 .so.

你需要解决所有的编译和链接错误,以便你能够构建 proAudioRt.so。请注意,为了实际包含一个 Lua 模块,它必须有一个名为 luaopen_proAudioRt() 的 C 可调用入口点,并带有以下签名

LUALIB_API int luaopen_proAudioRt(lua_State *L);

该函数预期构造模块的表,并为其提供包含该模块函数的成员。函数 luaL_register() 非常方便。

Lua 用户维基百科还有一个关于 绑定到 Lua 的部分,这应该也会很有帮助。

2010-12-24 08:07:36