【问题标题】:"could not build module 'Foundation'"“无法构建模块‘基础’”
【发布时间】:2014-11-17 22:25:53
【问题描述】:

搜索了这个问题,找不到太多帮助。

"could not build module 'Foundation'"

#import <Foundation/Foundation.h>

不确定是什么问题。谢谢你的建议。

【问题讨论】:

    标签: objective-c foundation


    【解决方案1】:

    我能够使用 Apple 支持社区thread 中提供的解决方案解决此问题:

    这里真正的问题在于会话中的构建设置:Apple LLVM 5.0 - Language - Modules,我们应该将 Enable Modules (C and Objective C) 设置为 NO

    【讨论】:

    • 由于链接可能会失效,我将在此处发布内容:这里的真正问题在于会话中的构建设置:Apple LLVM 5.0 - 语言 - 模块,我们应该设置启用模块(C 和目标c) 作为否
    • 如果您需要模块,stackoverflow.com/a/47328607/435129 可以解决。
    【解决方案2】:

    我发现如果你在你的项目中使用了一些外部的 c/c++ 代码,你必须删除所有的 #import in 前缀。这很令人头疼,但这是一个真正的问题

    【讨论】:

    • 我使用的是 CKImageAdditions,然后删除了我的 .pch 文件,该文件随后删除了所有构建错误。
    【解决方案3】:

    只需重命名您的 Objective-C++ 文件*.c*.mm

    错误就这样消失了,它可以很好地处理所有导入。

    【讨论】:

      【解决方案4】:

      Cmd+Option+Shift+k 然后 Cmd+Option+k 为我解决了上述错误。

      【讨论】:

      • 又名清理你的构建文件夹
      【解决方案5】:

      你可以试试这个

      在你的 .pch 文件中

      这样写

      #ifndef PureStandard_PrefixHeader_pch
      #define PureStandard_PrefixHeader_pch
      #ifdef __OBJC__
      #import "A.h"
      #import "B.h"
      #endif
      #endif
      

      【讨论】:

        【解决方案6】:

        设置Enable Modules (C and Objective-C) 的建议修复对我来说并没有解决这个问题。

        将我的someFile.c 文件重命名为someFile.m。即使这些文件只包含 C 函数(确实使用 Foundation 类型),将它们命名为 .c 也会产生此错误。

        【讨论】:

          【解决方案7】:

          如果在终端或 android studio 中使用 flutter run flutter clean,请重新启动模拟器并运行应用程序。

          【讨论】:

            【解决方案8】:

            我已通过将 Build System 更改为 Legacy Build System 来解决

            Open the ios/PROJECT_NAME.workspace file
            
            Then in the top menu select File > Workspace Settings
            
            Then change Build System to Legacy Build System
            

            【讨论】:

              【解决方案9】:

              以下:

              • Cmd+alt+Shift+k 然后Cmd+alt+k
              • File &gt; Workspace Settings &gt; Legacy Build System
              • Cmd+B

              为我工作

              【讨论】:

                【解决方案10】:

                来自这个答案:https://stackoverflow.com/a/47328607/164089

                在目标的构建设置中将 Allow Non-modular Includes in Framework Modules 设置为 YES

                我在作为扩展的一部分构建的 .m 文件中看到了这一行的问题:

                #import <Foundation/Foundation.h>
                

                【讨论】:

                  【解决方案11】:

                  所以我遇到了同样的问题,但是这些错误由于某种原因不会导致构建失败,所以它们就像假错误一样,我通过退出 Xcode 并删除 ~/Library/Developer/Xcode/DerivedData/ProjectName 使它们消失了

                  【讨论】:

                    【解决方案12】:

                    在我的情况下,我有一个 Precompiled Header,其中包含包含 &lt;Foundation/Foundation.h&gt; 的解决方案是我的解决方案是将包含包含在一个

                    #ifdef __OBJC__ 
                    #include SomeIncludeWithFoundation.h 
                    #endif
                    

                    您还可能在 .pch 文件中看到类似:

                    #ifdef __OBJC__
                    #import <UIKit/UIKit.h>
                    #else
                    #ifndef FOUNDATION_EXPORT
                    #if defined(__cplusplus)
                    #define FOUNDATION_EXPORT extern "C"
                    #else
                    #define FOUNDATION_EXPORT extern
                    #endif
                    #endif
                    #endif
                    

                    确保您的模块包含在您的 Precompiled Header 中的正确位置

                    【讨论】:

                      猜你喜欢
                      • 2018-12-04
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2020-04-02
                      • 2013-12-08
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多