【问题标题】:in xcode project using .a files with swift erorr 'map' file not found在使用 .a 文件的 xcode 项目中,找不到 swift errr 'map' 文件
【发布时间】:2016-05-06 02:20:48
【问题描述】:

我正在尝试将 SDK 添加到我的 Xcode 项目中。 SDK 包含 .a 文件和(标头).h 文件。标头已导入我的 Bridging-Header 文件(成功)。

在标题中有一个#include <map>

当我运行项目时,我得到一个

错误“地图”文件未找到

当我 cmd+单击它时,Xcode 将我带到 LLVM 编译器基础结构。

这里出了什么问题?

我将 Xcode 版本 7.2 (7C68) 与 Swift 2.0 一起使用。

【问题讨论】:

  • 嘿,你能解决这个问题吗?
  • 我也有同样的问题,你解决了吗?

标签: ios xcode swift .a


【解决方案1】:

也许您正在包含 C++ 文件?如果是这样,您应该在实现中添加 .mm 扩展名而不是 .m。

由于您使用的是 Swift,您可能需要将组件包装在 Objective-C++ 包装器中,然后才能在项目中使用它。

【讨论】:

    【解决方案2】:

    我遇到了完全相同的问题。但是,我通过从 Bridging-Header 文件中删除 #include 解决了这个问题。
    我不是 C 语言家族的专家,但根据这个answer,头文件似乎在您将其包含在 Bridging-Header 文件之前已经包含在内。其实 Bridging-Header 只是 bridging Swift-Objective C,它与 Objective-C 编译层无关。

    【讨论】:

      【解决方案3】:

      如果你有任何依赖于 libstdc++.tbd 的静态库,你可以试试我所做的。

      不确定你是否也是这种情况,但我遇到了同样的错误,经过大量研究,我通过以下方式修复它:

      Set CLANG_CXX_LIBRARY in build setting to ("C++ Standard Library") libc++ **OR** Compiler default
      

      实际上两者都适用于我的情况。 希望对某人有所帮助。

      干杯!!!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-31
        • 1970-01-01
        • 1970-01-01
        • 2012-11-14
        • 2015-10-09
        • 2019-06-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多