2013-02-24 60 views
1

我發現了一個很棒的圖書館:CFugue。這正是我需要的,但我不能在linux上使用它。他們寫道它可以在Ubuntu上運行,但我沒有成功:如何在linux上編譯CFugue庫?

g ++表示「vfw.h」不存在。據我瞭解,它代表「視頻爲Windows」。 是否可以在linux上使用CFugue?

回答

0

我不知道這是否會對你有幫助,因爲我還沒有能夠在linux上運行cfugue。我通過電子郵件的開發商,問他怎麼辦呢,他發出這些指令:

  1. 轉到下載源代碼「MusicNote」目錄下,並創建一個名爲「構建」
  2. cd到新創建的新目錄'構建' 目錄
  3. 發出以下命令: 的cmake -G '的Unix Makefile文件' ..
  4. 進行一次,發出命令 使

你應該看行'鏈接CXX可執行文件../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的聲音驅動程序很麻煩。

+0

它爲我工作 – varan 2013-03-05 16:25:07

+0

你使用的是什麼版本的Linux?我不知道爲什麼它適合你,但不適合我。 – user137 2013-03-06 17:16:13

0

(我假設你試圖建立使用C進行庫,對吧?)

這頭自帶酒。具體來說就是Wine的開發包。在大多數Linux發行版中,它通常被稱爲「wine-dev」或「wine-devel」。

請注意,CFugue是用C++ 11編寫的,因此您需要最新的GCC版本。 4.7應該工作,4.6可能工作,但4.5很可能不工作。

0

根據意見從sourceforge

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

它應該支持Linux構建。

嘗試

cmake的<路徑cfugue結賬>

使

然後根據結果重申你的問題。