我正在尝试在Debian-linux机器上构建hCsound-0.4.2,似乎自2012年(最新版本)以来csound.h文件中有一些变化,但我不确定。
尝试cabal install hcsound
时,我会关注
Configuring hCsound-0.4.2...
cabal: Missing dependency on a foreign library:
* Missing (or bad) header file: csound.h
我有版本1的libcsound64-dev:6.02~dfsg-2,它将csound.h
安装到/usr/include/csound/
中,所以我做了以下操作:
cabal unpack hcsound
cd hCsound-0.4.2
cabal configure --extra-include-dirs=/usr/include/csound
cabal build
在这种情况下,配置很好,但我在构建阶段遇到错误:
Preprocessing library hCsound-0.4.2...
c2hs: Error limit of 20 errors has been reached.
src/Sound/Csound/Foreign.chs:1224: (column 14) [ERROR] >>> Unknown identifier!
Cannot find a definition for `csoundSetControlChannelParams' in the header file.
src/Sound/Csound/Foreign.chs:1118: (column 11) [ERROR] >>> Unknown identifier!
Cannot find a definition for `CsoundChannelListEntry' in the header file.
src/Sound/Csound/Foreign.chs:1113: (column 22) [ERROR] >>> Unknown identifier!
Cannot find a definition for `CsoundChannelListEntry' in the header file.
src/Sound/Csound/Foreign.chs:1111: (column 23) [ERROR] >>> Unknown identifier!
Cannot find a definition for `CsoundChannelListEntry' in the header file.
...
/usr/include/csound/csound.h
中有一些提到的函数名称,有些则不是。 c2hs是否有可能处理错误的标题?
如何找出错误(?)行为的可能原因?最近是否有建立hCsound的经验?
我的目的是使用库来生成Haskell程序的声音输出,所以如果有人建议更好的解决方案,它也会很棒。我已经无法安装haskore-supercollider,我有haskore包,但是如果能够实时产生声音则无法获得。