ios - 启用模块后如何编译我的目标 C++ 项目?
问题描述
我的项目使用目标 C++。我必须启用模块,但是当我将“启用模块”设置为“是”时,我的项目开始提示很多我不知道如何处理它们的错误。我已将“构建活动架构”设置为 NO 并添加了 -fmodules 和 -fcxx-modules。我不得不提到我的项目已经很老了(7年)。
附上错误日志的一部分。看起来它把一切都搞砸了。
解决方案
您的包含路径在某处存在问题。系统提供的头文件 tgmath.h 有一行说#include <complex.h>
. 这应该被解析为“系统”文件。相反,您的日志显示它引用了另一个路径 (.../dmz_files/Eigen/.../Complex.h) 中的某些内容。
造成问题的是 Mac 文件系统,它没有很好地区分“复杂”和“复杂”。
实际错误来自试图在 Objective-C 上下文中解释 C++ 代码,但与引用错误文件相比,这些错误相当无关紧要。
(为什么这应该特定于模块,我不知道。)
推荐阅读
- ansible - 使用 jinja2 创建 ansible 列表变量
- java - 如何计算 ArrayList 中元素的单次出现?
- pandas - 方法='索引'时的熊猫插值类型?
- ruby-on-rails - 如何修复“找不到 gem railties 的可执行导轨。railties 当前不包含在捆绑包中”?
- sql - 组合查询,其中一个是递归的
- r - 在 tidyverse 的 styler 包中,style_text 首次运行时提示用户输入
- google-sheets - 基于列的自动填充数字
- sql - 以开玩笑的方式并行运行创建扩展的 sql 迁移会触发约束错误
- javascript - 如果包含 html 输入的 Div 被隐藏,则删除必需的属性
- docker - 让 `pipenv run` 运行多个命令