7

テスト ライブラリCatchにbiicodeサポートを追加しようとしましたが、Objective-C および Microsoft Foundation Classes (MFC) に関連する外部依存関係に問題がありました。

実行中の場合、以下が出力されますbii deps

florianwolters/catch depends on:
       system:
          algorithm
          assert.h
          cmath
          cstddef
          cstdio
          cstring
          fstream
          iomanip
          iostream
          iterator
          limits
          map
          memory
          ostream
          set
          sstream
          stdbool.h
          stdexcept
          stdint.h
          stdlib.h
          streambuf
          string
          sys/time.h
          sys/types.h
          unistd.h
          vector
          windows.h
       unresolved:
          AfxWin.h
          Foundation/Foundation.h
          objc/runtime.h
          sys/sysctl.h

との 3 つのファイルsys/sysctl.hは、Objective-C での iOS 開発に関連しています。このファイルは、Microsoft の C++ ライブラリMicrosoft Foundation Classes (MFC)の一部です。私が作成したbiicodeブロックはflorianwolters/catch (詳細情報) です。objc/runtime.hFoundation/Foundation.hAfxWin.h

問題は、そのような依存関係をどのように処理するかです。Apple や Microsoft が所有するソース コード (違法かもしれません) をbicodeにアップロードするのは意味がありませんが、まだライセンスを確認していません。

そのような未解決の問題を単に無視する「適切な」または推奨される方法はありますか?

編集 2015-01-11:

このプロセスに関するブログ投稿をここに書きました。間違いを犯した場合や、ワークフローを改善するための提案があればお知らせください。

4

1 に答える 1

5

はい、現時点ではそれが適切な方法です。Biicode は、いくつかのシステム ヘッダー (Win および Nix プラットフォーム用の基本的なヘッダー) を事前に定義していますが、すべてではありません。通常、OSX または MFC などのその他の特定のヘッダーは、biicode で検出されず、未解決としてマークされます。

これはまったく問題ではありません。独自のライブラリでも同じことが起こります。システムにインストールされたライブラリのいずれかを使用したい場合は、通常どおり非常に簡単に行うことができます (CMake with Finders またはインポートされたターゲットで)。Biicode は、そのライブラリのインクルード ヘッダーを未解決としてマークします。これは、biicode によって管理されていないことを示す方法です。これらのヘッダーがマシンに存在する限り、すべてが正常に機能します。

于 2015-01-11T23:07:20.163 に答える