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

Linuxでもcfugueを実行できていないため、これが役立つかどうかはわかりません。私は開発者に電子メールを送り、その方法を尋ねました。彼は次の手順を送信しました。

  1. ダウンロードしたソースコードの「MusicNote」ディレクトリに移動し、「build」という名前の新しいディレクトリを作成します
  2. 新しく作成された「ビルド」ディレクトリに移動します
  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 に答える