7

我尝试向测试库Catch添加biicode支持,但在与 Objective-C 和 Microsoft 基础类 (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.hObjective-C 中的 iOS 开发相关。该文件AfxWin.h是 Microsoft 的 C++ 库Microsoft 基础类 (MFC)的一部分。我创建的biicode块是florianwolters/catch(更多信息)。

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

简单地忽略这些未解决的问题是“正确”或推荐的方式吗?

编辑 2015-01-11:

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

4

1 回答 1

5

是的,目前这是正确的方法。Biicode 预定义了一些系统头文件,是 Win 和 Nix 平台的基本头文件,但不是全部。通常,在 biicode 中找不到 OSX 或其他特定的 MFC 标头,然后将其标记为未解析。

这根本不是问题。您自己的库也是如此。如果您想使用任何系统安装的库,您可以像往常一样轻松完成(在带有 Finder 的 CMake 或导入的目标中)。Biicode 会将包含的该库的标头标记为未解析,这是表明它不受 biicode 管理的方式。只要这些标题存在于您的机器中,一切都会正常工作。

于 2015-01-11T23:07:20.163 回答