【问题标题】:Handling unresolved platform-dependent dependencies in biicode处理 biicode 中未解决的平台相关依赖项
【发布时间】:2015-03-09 06:45:54
【问题描述】:

我尝试将 biicode 支持添加到测试库 Catch 中,但在与 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.h、objc/runtime.h、Foundation/Foundation.h这三个文件与Objective-C中的iOS开发有关。文件 AfxWin.h 是 Microsoft 的 C++ 库 Microsoft 基础类 (MFC) 的一部分。我创建的 biicode 块是florianwolters/catch(更多信息)。

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

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

编辑 2015-01-11:

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

【问题讨论】:

    标签: header include dependencies biicode


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回复。例如,我得出了与我考虑如何包含“Boost”相同的结论。
    猜你喜欢
    • 2013-12-21
    • 2013-02-19
    • 1970-01-01
    • 2017-05-20
    • 2020-07-17
    • 2016-06-04
    • 1970-01-01
    • 2021-06-13
    • 2013-01-24
    相关资源
    最近更新 更多