Question

I found a great library: CFugue. That's exactly what I need, but I cannot use it on linux. They wrote that it works on ubuntu, but I did not succeed:

g++ said that "vfw.h" doesn't exist. As far as I understand it stands for "video for windows". Is it possible to use CFugue on linux?

Was it helpful?

Solution

I don't know if this will help you because I still haven't been able to get cfugue running on linux either. I emailed the developer and asked him how to do it, he sent these instructions:

  1. Go to the downloaded source code 'MusicNote' directory and create a new directory called 'build'
  2. cd to the newly created 'build' directory
  3. issue the command: cmake -G 'Unix Makefiles' ..
  4. once done, issue the command make

You should see the line 'Linking CXX executable ../Bin/StaticLibTestAppdu'

If you enter the command '../Bin/StaticLibTestAppdu' it should run.

But it still didn't work for me. These are the last few lines of output from make, I think it means there is a problem with ALSA, but I'm no expert.

/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

I would not be surprised if ALSA is the issue. I remember trying to get FreeTTS to run in java under linux with no luck because the ALSA driver was bad. I first put ubuntu on my laptop in 2008, sound wouldn't work at all. Newer versions work, I think since they made pulseaudio the default. But it still seems like sound drivers for linux are troublesome.

OTHER TIPS

(I assume you're trying to build the library using CMake, right?)

That header comes with Wine. Specifically, the development package of Wine. It's usually called "wine-dev" or "wine-devel" on most Linux distros.

Note that CFugue is written in C++11, so you'll need a recent GCC version. 4.7 should work, 4.6 might work, but 4.5 will most probably not work.

According to comments from sourceforge

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

it should support linux build.

Try

cmake < path to cfugue checkout >

make

Then depending on result restate your question.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top