你知道为什么我不能使用或者不能在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 do2) get构建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 chunk
[C]: ?发布于 2010-12-24 16:07:37
Lua试图告诉你,它在很多地方都找不到模块"proAudioRt"的实现。第一块地方是在Lua中加载实现的各种尝试,然后是对可能包含模块的各种共享目标文件的几次尝试。由于所有位置都不起作用,require就失败了。
都不起作用,因为您实际上还没有构建包含该模块的.so。
您需要清除所有编译和链接错误,以便构建proAudioRt.so。请注意,要使其真正包含Lua模块,它必须有一个名为luaopen_proAudioRt()的C可调用入口点,其签名为
LUALIB_API int luaopen_proAudioRt(lua_State *L);该函数将构造模块的表,并为其提供包含模块函数的成员。函数luaL_register()在这方面很方便。
Lua用户维基有一个关于binding to Lua的部分,应该也是有帮助的。
https://stackoverflow.com/questions/4523062
复制相似问题