2015-01-11 28 views
7

Catchbiicodeのサポートを追加しようとしましたが、Objective-CおよびMFC(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.hobjc/runtime.hFoundation/Foundation.hは、Objective-Cの中のiOS開発に関連しています。ファイルAfxWin.hは、マイクロソフトが提供するC++ライブラリMicrosoft Foundation Classes(MFC)の一部です。私が作成したバイオコードブロックは、florianwolters/catchです(詳細はこちら)。

したがって、問題は次のようなものです。どのようにこのような依存関係を処理するのですか?アップルやマイクロソフトが所有するソースコードをbicodeにアップロードするのは意味がありませんが、まだライセンスを確認していません。

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

EDIT 2015年1月11日:

私は、プロセスhereに関するブログ記事を書きました。間違いがあった場合や、ワークフローを改善するための提案がある場合は、教えてください。

答えて

5

はい、現時点では正しい方法です。 Biicodeは、いくつかのシステムヘッダを事前定義しています。これはWinとNixプラットフォームの基本ヘッダですが、すべてではありません。通常、MFCのようなOSXやその他の特定のヘッダーは、バイコードでは見つからず、未解決とマークされます。

これはまったく問題ありません。あなた自身のライブラリでも同じことが起こります。システムにインストールされたライブラリを使用したくない場合は、いつものように(FinderやImportedターゲットを持つCMakeで)非常に簡単に行うことができます。 Biicodeはそのライブラリのヘッダーに未解決のマークを付けます。これは、それがバイコードによって管理されていないことを示す方法です。これらのヘッダーがあなたのマシンに存在する限り、すべて正常に動作します。

+2

ありがとうございます。私は、例えば「Boost」がどのように含まれているかについて考えたときと同じ結論に達しました。 –

関連する問題