web-dev-qa-db-ja.com

iOS用のDLIBを構築する方法

IOSプロジェクトのDLIBをビルドしようとしています。 cmakeを実行すると、libdlib.a.oファイルがロードされます。

ライブラリをXcodeプロジェクトに追加すると、arm64用にライブラリが作成されていないという警告が表示されます。

私の質問は2部構成です。

  1. IOS用のDLIBを構築するにはどうすればよいですか(cmake **path_to_source** -DCMAKE_OSX_ARCHITECTURE="arm64"を試しましたが、unknown type name '__uint32_t'; did you mean '__uint128_t'などのエラーが発生しました)?
  2. Cmakeを実行するとビルドされるすべての.oファイルの目的は何ですか? Xcodeプロジェクトに含める必要がありますか?
19
Rob Sanders

私は最終的にこれを行う方法を理解しました:

必要条件

  • X11(MacではX11アプリを開くことができ、X11がインストールされていない場合はダウンロードに移動します)。
  • Xcode
  • cmake(そのために自家製のものを使用できます)

手順

  • ターミナルでlib-xx.xx/examplesをルートにします
  • 実行:

    mkdir build

    cd build

    cmake -G Xcode ..

    cmake --build . --config Release

これにより、dlib_buildというフォルダーが作成され、その中にライブラリをコンパイルするXcodeプロジェクトが見つかります。そのXcodeプロジェクトのビルド設定では、Xcodeをサポートする任意のOSのビルドアーキテクチャとSDKを設定できます。

編集:

プロジェクトでdlibを機能させるには、多くのカスタムコンパイラフラグとサードパーティのライブラリを含める必要があります。 examples.xcprojectビルド設定を確認してください。

19
Rob Sanders

RASSの答えを補完するために、これをiOSおよびOSX libとの間で変更する方法を示すスクリーンショットを添付しています

プロジェクトを開いた後、

  1. プロジェクトナビゲーターからプロジェクトファイルを選択します
  2. 最下部までdlibターゲットを選択します
  3. 「ビルド設定」を選択します
  4. 「Base SDK」ドロップダウンを展開します

enter image description here

  1. IOSまたはmacOS(OSX)を選択します

enter image description here

これが一部の人々の助けになることを願っています! gl

9
mylogon

Rob SandersとmylogonはすでにiOS用のdlibを構築する方法を示しています。ここではそれを使用する方法を示します。

  1. プロジェクトにlibdlib.aを追加し、ライブラリ検索パスにパスを追加します
  2. すべてのソースを追加してディレクトリを含め(プロジェクトに追加しないでください)、ヘッダー検索パスにパスを追加します。
  3. blasシンボルを含むフレームワークを加速します。
  4. ビルド設定から、「カスタムコンパイラフラグ」/「その他のcフラグ」のプリプロセッサマクロを追加します。これらのマクロは、ヘッダーファイルがlibと一致することを確認します。

    -DDLIB_JPEG_SUPPORT
    -DDLIB_NO_GUI_SUPPORT
    -DNDEBUG
    -DDLIB_USE_BLAS
    -DDLIB_USE_LAPACK
    
0
lbsweek