首页 > 解决方案 > 启用模块后如何编译我的目标 C++ 项目?

问题描述

我的项目使用目标 C++。我必须启用模块,但是当我将“启用模块”设置为“是”时,我的项目开始提示很多我不知道如何处理它们的错误。我已将“构建活动架构”设置为 NO 并添加了 -fmodules 和 -fcxx-modules。我不得不提到我的项目已经很老了(7年)。

附上错误日志的一部分。看起来它把一切都搞砸了。

错误日志

标签: iosxcodeobjective-c++

解决方案


您的包含路径在某处存在问题。系统提供的头文件 tgmath.h 有一行说#include <complex.h>. 这应该被解析为“系统”文件。相反,您的日志显示它引用了另一个路径 (.../dmz_files/Eigen/.../Complex.h) 中的某些内容。

造成问题的是 Mac 文件系统,它没有很好地区分“复杂”和“复杂”。

实际错误来自试图在 Objective-C 上下文中解释 C++ 代码,但与引用错误文件相比,这些错误相当无关紧要。

(为什么这应该特定于模块,我不知道。)


推荐阅读