1

USBデバイスにアクセスする必要があるクロスプラットフォームプロジェクト(WinおよびMac)が進行中です。すべての要件に完全に適合するHIDAPIライブラリを見つけました。HIDAPIライブラリ用のDelphiFiremonkeyラッパーがないため(少なくとも1つはわかりません)、自分で作成しています。

HIDAPIプロジェクトのWebサイトhttp://www.signal11.us/oss/hidapi/は次のように述べています。「Windowsでは、HIDAPIをオプションでDLLに組み込むことができます。「「

これは、Visual Studioを使用してソースを正常にコンパイルし、Windowsで完全に機能するDLLを作成したためです。さて、私はCプログラマーではなく、OSXは私の最強のスキルではないので、それは可能であり、与えられたソースコードからlibhidapi.dylibを作成するにはどうすればよいですか?

4

1 に答える 1

1

たぶん私はあなたの質問を見逃しているかもしれません...しかし、あなたが提供したそのリンクで.so、Linux/Macプラットフォーム用にコンパイルする必要のある命令があるようです。次に、Macからのリンクを使用できます。

Macダイナミックライブラリ(.dylib)としてコンパイルします。

ビルド手順

..。

Mac OS X:mac /ディレクトリに移動し、makeを実行します。

テストGUIを構築するには:

LinuxおよびMacでは、hidtest/ディレクトリからmakeを実行します。README.txtで説明されているように、最初にfox-toolkitをインストールしてください。

次に、README自体が、Mac用にビルドするための前提条件と、最終的な共有オブジェクトライブラリを生成する方法を示します。

Prerequisites:
---------------

マック:

Macで、テストGUIを構築する場合は、Fox-Toolkitをインストールする必要があります。これを行うには2つの方法があり、それぞれに少し複雑さがあります。どの方法を使用するかは、ユースケースによって異なります。

自分のコンピューターで自分のテストのためだけにテストGUIを構築したい場合、最も簡単な方法は、ポートを使用してFox-Toolkitをインストールすることです。sudoport install fox

TestGUIアプリバンドルをビルドして他のユーザーに再配布する場合は、ソースからFox-toolkitをインストールする必要があります。これは、ポートを使用してインストールされるfoxのバージョンが、AppleX11ライブラリと互換性のないポートX11ライブラリを使用しているためです。Foxをポートとともにインストールしてから、ビルドしたアプリバンドルを配布しようとすると、他のシステムでは実行できなくなります。Fox-Toolkitを手動でインストールするには、 http ://www.fox-toolkit.orgからソースパッケージをダウンロードして解凍し、解凍したソース内から次のコマンドを実行します。./configure && make && make install

そして、.soを生成する方法:

Unixプラットフォーム上の共有ライブラリへのHIDAPIの構築:

Linux、FreeBSD、Mac、さらにはWindowsなどのUnixライクなシステムで、MingwまたはCygwinを使用して、標準のシステムインストール共有ライブラリをビルドする最も簡単な方法は、GNUAutotoolsビルドシステムを使用することです。gitリポジトリからソースをチェックアウトした場合は、以下を実行します。

./bootstrap ./configure make make install <----- rootとして、またはsudoを使用する

ソースパッケージをダウンロードした場合(つまり、git cloneを実行しなかった場合)、。/bootstrapステップをスキップできます。

./configureは、ビルドを制御するいくつかの引数を取ることができます。使用される可能性が最も高い2つは次のとおりです。--enable-testguiテストGUIのビルドを有効にします。これには、Foxツールキットがインストールされている必要があります。各プラットフォームにFox-Toolkitをインストールする手順は、上記の前提条件のセクションにあります。

--prefix =/usr出力ヘッダーとライブラリをインストールする場所を指定します。上記の例では、ヘッダーは/ usr / includeに、バイナリは/ usr/libに配置されます。デフォルトでは/usr/ localにインストールされますが、これはほとんどのシステムで問題ありません。

.dylibしたがって、これらの指示に従うだけで、拡張機能を変更し、ビルドフラグを追加-dynamiclibできるはずです。-fPIC

于 2013-03-12T11:31:24.630 に答える