QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: dgy18787

编译dssi,要求liblo,编译之后问题依旧(已解决)

[复制链接]
发表于 2010-6-23 05:12:46 | 显示全部楼层
../dssi/dssi.h:27:20: 错误:ladspa.h:没有那个文件或目录
In file included from trivial_synth.c:19:
../dssi/dssi.h:104: 错误:expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
trivial_synth.c:28: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
trivial_synth.c:31: 错误:expected ‘)’ before ‘instance’
trivial_synth.c:41: 错误:expected specifier-qualifier-list before ‘LADSPA_Data’
trivial_synth.c:48: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
trivial_synth.c:68: 错误:expected ‘)’ before ‘instance’
trivial_synth.c:73: 错误:expected ‘)’ before ‘instance’
trivial_synth.c:92: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘instantiateTS’
trivial_synth.c:106: 错误:expected ‘)’ before ‘instance’
trivial_synth.c:116: 错误:expected ‘)’ before ‘instance’
trivial_synth.c:122: 错误:expected ‘)’ before ‘instance’
trivial_synth.c:181: 错误:expected ‘)’ before ‘instance’
trivial_synth.c: 在函数‘init’中:
trivial_synth.c:200: 错误:‘LADSPA_PortDescriptor’未声明(在此函数内第一次使用)
trivial_synth.c:200: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
trivial_synth.c:200: 错误:所在的函数内也只报告一次。)
trivial_synth.c:200: 错误:‘port_descriptors’未声明(在此函数内第一次使用)
trivial_synth.c:201: 错误:‘LADSPA_PortRangeHint’未声明(在此函数内第一次使用)
trivial_synth.c:201: 错误:‘port_range_hints’未声明(在此函数内第一次使用)
trivial_synth.c:203: 错误:‘tsLDescriptor’未声明(在此函数内第一次使用)
trivial_synth.c:204: 错误:‘LADSPA_Descriptor’未声明(在此函数内第一次使用)
trivial_synth.c:204: 错误:expected expression before ‘)’ token
trivial_synth.c:214: 错误:expected expression before ‘)’ token
trivial_synth.c:218: 错误:expected ‘)’ before ‘LADSPA_PortDescriptor’
trivial_synth.c:218: 警告:在‘type name’的声明中,类型默认为‘int’
trivial_synth.c:220: 错误:expected expression before ‘)’ token
trivial_synth.c:224: 错误:expected ‘)’ before ‘LADSPA_PortRangeHint’
trivial_synth.c:224: 警告:在‘type name’的声明中,类型默认为‘int’
trivial_synth.c:230: 错误:‘LADSPA_PORT_OUTPUT’未声明(在此函数内第一次使用)
trivial_synth.c:230: 错误:‘LADSPA_PORT_AUDIO’未声明(在此函数内第一次使用)
trivial_synth.c:235: 错误:‘LADSPA_PORT_INPUT’未声明(在此函数内第一次使用)
trivial_synth.c:235: 错误:‘LADSPA_PORT_CONTROL’未声明(在此函数内第一次使用)
trivial_synth.c:237: 错误:‘LADSPA_HINT_DEFAULT_440’未声明(在此函数内第一次使用)
trivial_synth.c:238: 错误:‘LADSPA_HINT_BOUNDED_BELOW’未声明(在此函数内第一次使用)
trivial_synth.c:238: 错误:‘LADSPA_HINT_BOUNDED_ABOVE’未声明(在此函数内第一次使用)
trivial_synth.c:246: 错误:‘LADSPA_HINT_DEFAULT_MAXIMUM’未声明(在此函数内第一次使用)
trivial_synth.c:251: 错误:‘activateTS’未声明(在此函数内第一次使用)
trivial_synth.c:252: 错误:‘cleanupTS’未声明(在此函数内第一次使用)
trivial_synth.c:253: 错误:‘connectPortTS’未声明(在此函数内第一次使用)
trivial_synth.c:255: 错误:‘instantiateTS’未声明(在此函数内第一次使用)
trivial_synth.c:256: 错误:‘runTSWrapper’未声明(在此函数内第一次使用)
trivial_synth.c:264: 错误:‘DSSI_Descriptor’没有名为‘LADSPA_Plugin’的成员
trivial_synth.c:265: 错误:‘DSSI_Descriptor’没有名为‘configure’的成员
trivial_synth.c:266: 错误:‘DSSI_Descriptor’没有名为‘get_program’的成员
trivial_synth.c:267: 错误:‘DSSI_Descriptor’没有名为‘get_midi_controller_for_port’的成员
trivial_synth.c:267: 错误:‘getControllerTS’未声明(在此函数内第一次使用)
trivial_synth.c:268: 错误:‘DSSI_Descriptor’没有名为‘select_program’的成员
trivial_synth.c:269: 错误:‘DSSI_Descriptor’没有名为‘run_synth’的成员
trivial_synth.c:269: 错误:‘runTS’未声明(在此函数内第一次使用)
trivial_synth.c:270: 错误:‘DSSI_Descriptor’没有名为‘run_synth_adding’的成员
trivial_synth.c:271: 错误:‘DSSI_Descriptor’没有名为‘run_multiple_synths’的成员
trivial_synth.c:272: 错误:‘DSSI_Descriptor’没有名为‘run_multiple_synths_adding’的成员
trivial_synth.c: 在函数‘fini’中:
trivial_synth.c:282: 错误:‘tsLDescriptor’未声明(在此函数内第一次使用)
trivial_synth.c:283: 错误:‘LADSPA_PortDescriptor’未声明(在此函数内第一次使用)
trivial_synth.c:283: 错误:expected expression before ‘)’ token
trivial_synth.c:285: 错误:‘LADSPA_PortRangeHint’未声明(在此函数内第一次使用)
trivial_synth.c:285: 错误:expected expression before ‘)’ token
make[3]: *** [trivial_synth_la-trivial_synth.lo] 错误 1
make[3]: Leaving directory `/root/dssi-1.0.0/examples'
make[2]: *** [all] 错误 2
make[2]: Leaving directory `/root/dssi-1.0.0/examples'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/root/dssi-1.0.0'
make: *** [all] 错误 2
嗯,然后下载ladspa的sdk进行编译
http://www.ladspa.org/download/
cd /root/ladspa_sdk/
ladspa_sdk]# cd /root/ladspa_sdk/src
src]# make
src]# make install
mkdirhier /usr/lib/ladspa/
mkdirhier /usr/include/
mkdirhier /usr/bin/
cp ../plugins/* /usr/lib/ladspa/
cp ladspa.h /usr/include/
cp ../bin/* /usr/bin/
# cd dssi-1.0.0/
dssi-1.0.0]# ./configure --prefix=/usr
* ======== DSSI 1.0.0 configured ========
* building jack-dssi-host:            no (missing liblo JACK)
* building DSSI OSC tools:            no (missing liblo)
* building trivial_synth plugin:      yes
* building less_trivial_synth plugin: yes
* building karplong plugin:           yes
* building trivial_sampler plugin:    no (missing libsamplerate)
* building less_trivial_synth GUI:    no (missing liblo Qt)
* building trivial_sampler GUI:       no (missing liblo Qt)
dssi-1.0.0]# make
编译通过,你编译失败是因为不仅缺少 liblo 还需要 JACK,不同的插件还有需要 libsamplerate,但不管怎样,LADSPA的SDK是必需的,至于qt,我想可能是qt3,这个只有在magic的kde3版本才会默认包含,这两个GUI界面应该没有什么编译的可能了。这东西到底做什么用的?

[ 本帖最后由 haulm 于 2010-6-23 05:16 编辑 ]
回复

使用道具 举报

发表于 2010-6-23 05:54:23 | 显示全部楼层
其实编译环境已经很好了,只不过少了qt3的开发库qt-devel和dssi的依赖包,qt-devel这个不方便自己编译,可以通过源来安装。其次就是先编译安装好各个依赖包,看下我编译结束时总共安装了几个源码包。
# ls
dssi-1.0.0.tar.gz
jack-audio-connection-kit-0.118.0.tar.gz
ladspa_sdk_1.13.tgz
liblo-0.26.tar.gz
libsamplerate-0.1.7.tar.gz
qt库必需先安装,这个项目比较旧,界面基于qt3的,所以必需在线安装magiclinux的qt3开发库,自己编译太费时间了。
apt-get update
apt-get install qt-devel
ldconfig
关闭虚拟终端,重新开启一个编译 DSSI
你可以看到
* ======== DSSI 1.0.0 configured ========
* building jack-dssi-host:            yes
* building DSSI OSC tools:            yes
* building trivial_synth plugin:      yes
* building less_trivial_synth plugin: yes
* building karplong plugin:           yes
* building trivial_sampler plugin:    yes
* building less_trivial_synth GUI:    yes
* building trivial_sampler GUI:       yes
dssi-1.0.0]# make

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2010-6-23 06:01:24 | 显示全部楼层
liblo 等组件的编译最好加上安装位置,以便其它组件编译时容易找到头文件的位置
./configure --prefix=/usr
回复

使用道具 举报

发表于 2010-6-23 06:02:54 | 显示全部楼层
最后
能教我下这东西做什么用的,怎么用么。。。。
回复

使用道具 举报

 楼主| 发表于 2010-6-23 11:17:51 | 显示全部楼层
这个是编译rosegarden的依赖要求,呵呵
其他的,我真的都不太懂了。。
回复

使用道具 举报

 楼主| 发表于 2010-6-23 11:26:59 | 显示全部楼层
DSSI (pronounced "dizzy") is an API for audio processing plugins, particularly useful for software synthesis plugins with user interfaces.

DSSI is an open and well-documented specification developed for use in Linux audio applications, although portable to other platforms. It may be thought of as LADSPA-for-instruments, or something comparable to VSTi.

基本上就是挂软音源用的。。不过linux下面软音源少之又少,不容易找啊。。。
似乎还可以借助Wine加载VST。。。
要不是rosegarden依赖它我也不知道的说。。。。
回复

使用道具 举报

发表于 2010-6-23 11:56:43 | 显示全部楼层
编译依赖不少,不过应该是可以编译成功的,打包就有点麻烦了,这些东西前人没有打包过,全部需要书写spec文档,过些时间吧,不过编译是可以成功的,rosegarden需要参数里指定qt4的路径。
回复

使用道具 举报

 楼主| 发表于 2010-6-23 12:02:14 | 显示全部楼层
天哪 有点想要放弃了。。。太复杂了- - 记得原来KDE打rg的包没有这么费劲阿,一个apt就搞定了 。。
另:那个3×××1org的源好像不能上了
回复

使用道具 举报

发表于 2010-6-23 13:32:16 | 显示全部楼层
原帖由 dgy18787 于 2010-6-23 12:02 发表
天哪 有点想要放弃了。。。太复杂了- - 记得原来KDE打rg的包没有这么费劲阿,一个apt就搞定了 。。
另:那个3×××1org的源好像不能上了

并不复杂,一个apt解决是因为有前人为你打包了,这东西太专业了,我已经编译出来了,但是用不上,因为midi设备很不好搞定,结果我又重新去编译除了timidity以外的mid音频播放软件。
这种东西太过复杂,你要知道目前没有一个Linux系统提供完整的默认mid播放虚拟设备,如果要提供原来timidity又满足不了你想编辑mid文件这么专业的要求,那么整个编译圈就非常专业。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2010-6-23 13:47:18 | 显示全部楼层
编译没问题了,播放我也出过声,可是配置的确很困惑,或许还要安装什么。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2010-6-23 15:45:34 | 显示全部楼层
不太清楚了 rg这个依赖关系实在是奇怪
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 21:42 , Processed in 0.039162 second(s), 13 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表