2016-05-08 16 views
1

libusbを使用するJUCEプロジェクトを作成したいとします。ソースからlibusbをビルドするJUCEプロジェクト

libusbをコンパイルしてProJucerを使用して追加できます。私はlibusb.hも含めなければならないと思います。そして、私たちがそのトリックをすることを願っています。

libusbソースを追加するといいです。私のコードを使用している人なら、.libをコンパイルしてJUCEのビルド設定を使ってコンパイルする余分なステップを必要としません。 [ファイル]タブにあるので

私はright click the root project folder -> "add existing files"/PathTo/MyProj/libusb/libusb/

を選択するには、しかし、いくつかのファイルを報告し、Xcodeでこれを開く:

#include <config.h> // ! not found 

はさえ/libusb/libusb/os/に非OSX .cファイルを無効に.cのカップルがありますファイル/libusb/libusb/にはconfig.hが必要です。

Googlingの場合、/ hello it hello yeah sure Shona I'm great yeah we can go outside I guess really nice okay great and if it ever is three of them and please split over two days and it's too much of my voice Is any problem my voice is the week okay great so when when would you like me to come round okay 3 o'clock I can do integrity by.configureスクリプトを実行する必要があるようです。

これは少し厄介なものになりつつあります。私は今からちょうど.libをコンパイルしてやっていくつもりだと思います。

しかし、統合ソリューションの可能性はありますか?

私は、libusbチームがlibusbをもっとマルチプラットフォームに対応できると想像します。 /os/windows*.cの内容は#ifdef MSVC_BLAH ... #endifの中にあるので、すべてのプラットフォームが事前の手抜きなしでコンパイルされるだけです。

答えて

2

これは非常に扱いにくいかもしれません - あなたが話しているのと非常によく似た方法でinclude GLib and Fluidsynth within a JUCE projectに試みて、このことを直接学びました。

このクロスプラットフォームを作成しようとすると、ライブラリが依存している特定のシステムヘッダファイルが利用できないか、設定に余分な設定が必要になることがあるので、多くの問題に遭遇します。

これには確かな方法がありますが、そのほとんどはPre-Build Shell Scriptに多くのものを追加するだけでなく、適切なライブラリとヘッダーパスをProjucerに追加することも含まれます。

もっと簡単な方法は、実行可能なプロジェクトにインストーラをパッケージ化することです。それは実質的に彼らが&をそれ自身でインストールするのと同じですが、非常に簡単で簡単です。

I went ahead and did this for you here

プロジェクトにLibUSB.pkgを配布するだけで済みます。これの欠点は、プラットフォームごとに事前ビルドされたバイナリが必要だということですが、単純なWindows/Mac/Linux/iOS/Androidアプリの場合、これはあまり難しくありません。

ソースコードでビルドするのが難しい場合は、config.hファイルも追加する必要があります。これらのファイルを編集して、コンパイルが正常に完了するようにする必要があります。

また、LibUSBはLGPLのライセンスを受けています。ソースコードを編集してアプリで直接使用する場合は、アプリのソースコードをLGPLライセンスの下に公開する必要があります。ライブラリにリンクするだけで、この問題は解決されます。

関連する問題