如何在linux上编译CFugue库?

时间:2013-02-24 09:34:47

标签: c++ linux g++ vfw

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

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

3 个答案:

答案 0 :(得分:0)

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

标题附带Wine。具体来说,Wine的开发包。在大多数Linux发行版中,它通常被称为“wine-dev”或“wine-devel”。

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

答案 1 :(得分:0)

根据sourceforge的评论

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

它应该支持linux build。

尝试

  

cmake< cfugue checkout的路径>

     

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

答案 2 :(得分:0)

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

  1. 转到下载的源代码'MusicNote'目录并创建一个名为'build'
  2. 的新目录
  3. cd到新创建的'build'目录
  4. 发出命令: cmake -G'Unix Makefiles'..
  5. 完成后,发出命令 使
  6. 你应该看到'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的声音驱动程序很麻烦。