1

libusbを利用する JUCE プロジェクトを作成したいと考えています。

libusbProJucer を使用してコンパイルおよび追加できます。も含める必要があると思いますlibusb.h。そして、私たちがそのトリックを行うことを願っています。

ただし、代わりにソースを含めると、私のコードを使用する人がコンパイルしてJUCEのビルド設定をいじるlibusbという余分な手順を必要としないので、本当に便利です..lib

[ファイル] タブで [I] をright click the root project folder -> "add existing files"選択し、/PathTo/MyProj/libusb/libusb/

ただし、これを Xcode で開くと、いくつかのファイルが次のように報告します。

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

OSX 以外の.cファイルを無効にしても、これが必要なファイルが/libusb/libusb/os/いくつかあります。.c/libusb/libusb/config.h

グーグル、これには/ 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

4

1 に答える 1

2

これは非常にトリッキーかもしれません — 私は、あなたが話しているのと非常によく似た方法で、JUCE プロジェクト内に GLib と Fluidsynth を含めようとして、これを直接学びました。

ライブラリが依存する特定のシステム ヘッダー ファイルが利用できないか、セットアップに追加の構成が必要になる可能性があるため、このクロスプラットフォームを作成しようとすると、多くの問題に遭遇することになります。

確かにそれを行う方法はありますが、そのほとんどは、Projucer に適切なライブラリとヘッダー パスを追加するだけでなく、ビルド前のシェル スクリプトに多くのものを追加することを伴います。

はるかに簡単な方法は、実行できるプロジェクトにインストーラーをパッケージ化することです。自分でビルドしてインストールするのと実質的に同じですが、非常にシンプルで簡単です。

私は先に進み、ここであなたのためにこれをしました

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

ソース コードを使用してビルドすることに固執している場合は、config.h ファイルも追加する必要があります。正常にコンパイルするには、それらを編集する必要がある場合があります。

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

于 2016-05-26T20:53:50.863 に答える