【问题标题】:How to compile CFugue library on linux?如何在 linux 上编译 Cfugue 库?
【发布时间】:2013-02-09 14:53:00
【问题描述】:

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

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

【问题讨论】:

    标签: c++ linux g++ vfw


    【解决方案1】:

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

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

    您应该会看到“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 的声卡驱动似乎仍然很麻烦。

    【讨论】:

    • 你用的是什么版本的linux?我不知道为什么它对你有效,但对我无效。
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      根据来自sourceforge的cmets

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

      它应该支持 linux 构建。

      试试

      cmake

      制作

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-16
        • 2011-02-13
        • 2013-06-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多