处理 biicode 中未解决的依赖于平台的依赖项

Handling unresolved platform-dependent dependencies in biicode

我已尝试添加 biicode support to the the testing library Catch,但在与 Objective-C 和 Microsoft Foundation 类 (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

三个文件sys/sysctl.hobjc/runtime.hFoundation/Foundation.h与iOS在Objective-C的开发有关。文件 AfxWin.h 是 Microsoft 的 C++ 库 Microsoft Foundation 类 (MFC) 的一部分。我创建的 biicode 块是 florianwolters/catch(更多信息)。

那么问题来了:如何处理这种依赖关系?将 Apple 或 Microsoft 拥有的源代码(甚至可能是非法的)上传到 bicode 是没有意义的,尽管我还没有检查许可证。

"proper" 或推荐的方法是否可以简单地忽略此类未解决的问题?

编辑 2015-01-11:

我写了一篇博客 post 关于这个过程 here。如果我有任何错误或者您有任何改进工作流程的建议,请告诉我。

是的,目前是正确的方法。 Biicode有pre-defined个系统headers,基本的Win和Nix平台,但不是全部。通常 OSX 或其他特定 headers 因为 MFC 不会在 biicode 中找到,然后将被标记为未解析。

这根本不是问题。您自己的库也会发生同样的情况。如果您想使用任何 system-installed 库,您可以像往常一样轻松地进行操作(在带有 Finders 或导入目标的 CMake 中)。 Biicode 会将该库的 included headers 标记为未解析,这是表明它不受 biicode 管理的方式。只要这些 headers 存在于您的机器中,一切都会正常工作。