开发者

BUG - ProteaAudio with Lua does not work

Any idea why i cant use or cant build in Lua the ProTeaAudio ?

1) Exist

[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) get failed to build the 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 class ‘RtApi’
rtaudio/RtAudio.cpp: In member function ‘virtual 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 chun开发者_如何学Gok
     [C]: ?


Lua is trying to tell you that it cannot find an implementation of the module "proAudioRt" which it tried to find in a variety of places. The first block of places are various attempts at loading an implementation in Lua, then there are a few tries at various shared object files that might have contained the module. Since none of the places work, require fails.

None worked, because you haven't actually built a .so containing the module.

You need to get all of the compile and link errors to clear up so that you build proAudioRt.so. Note that for that to actually contain a Lua module, it must have a C callable entry point named luaopen_proAudioRt(), with the signature

LUALIB_API int luaopen_proAudioRt(lua_State *L);

That function is expected to construct the module's table, supplying it with members containing the functions of the module. The function luaL_register() is handy for this.

The Lua users wiki has a section on binding to Lua that should be helpful as well.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜