1

我找到了一个很棒的库:Cfugue。这正是我需要的,但我不能在 linux 上使用它。他们写道,它适用于 ubuntu,但我没有成功:

g++ 说“vfw.h”不存在。据我了解,它代表“Windows 视频”。可以在linux上使用CFugue吗?

4

3 回答 3

0

(我假设您正在尝试使用 CMake 构建库,对吗?)

该标题与 Wine 一起提供。具体来说就是Wine的开发包。在大多数 Linux 发行版上,它通常被称为“wine-dev”或“wine-devel”。

请注意,CFugue 是用 C++11 编写的,因此您需要最新的 GCC 版本。4.7 应该工作,4.6 可能工作,但 4.5 很可能不会工作。

于 2013-02-24T09:47:00.027 回答
0

根据sourceforge的评论

+IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")   # Linux specific code
+     SET(CFugue_Dependencies asound)
+ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")

它应该支持linux构建。

尝试

cmake < 路径到 cfugue 结帐 >

制作

然后根据结果重述您的问题。

于 2013-02-24T09:47:12.700 回答
0

我不知道这是否会对您有所帮助,因为我仍然无法让 cfugue 在 linux 上运行。我给开发人员发了电子邮件,问他怎么做,他发送了这些说明:

  1. 转到下载的源代码“MusicNote”目录并创建一个名为“build”的新目录
  2. cd 到新创建的“构建”目录
  3. 发出命令: cmake -G 'Unix Makefiles' ..
  4. 完成后,发出命令 make

您应该看到“Linking CXX executable ../Bin/StaticLibTestAppdu”行

如果您输入命令“../Bin/StaticLibTestAppdu”,它应该会运行。

但它仍然对我不起作用。这些是make的最后几行输出,我认为这意味着ALSA有问题,但我不是专家。

/home/tom/Workspace/cfuge/CFugue_src_22Jan12/MusicNote/src/MusicNoteLib/MIDIDrivers/AlsaDriver.cpp:167:29: note:   mismatched types ‘const std::fpos<_StateT>’ and ‘std::future_status’
make[2]: *** [CMakeFiles/MusicNoteLib.dir/src/MusicNoteLib/MIDIDrivers/AlsaDriver.cpp.o] Error 1
make[1]: *** [CMakeFiles/MusicNoteLib.dir/all] Error 2
make: *** [all] Error 2

如果 ALSA 是问题所在,我不会感到惊讶。我记得试图让 FreeTTS 在 linux 下的 java 中运行但没有运气,因为 ALSA 驱动程序很糟糕。我在 2008 年第一次将 ubuntu 放在我的笔记本电脑上,声音根本不起作用。我认为较新的版本可以工作,因为它们将pulseaudio设为默认值。但似乎 linux 的声音驱动程序仍然很麻烦。

于 2013-02-26T00:04:35.020 回答