首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果启用了模块,那么tgmath.h就无法工作

如果启用了模块,那么tgmath.h就无法工作
EN

Stack Overflow用户
提问于 2014-04-28 05:41:23
回答 2查看 3.1K关注 0票数 69

在处理tgmath.h时,我研究了使用CGFloat typedef float/double来处理arm64混乱的问题。

这个答案对如何使用它有一个很好的描述,只是它对我来说根本不起作用。无论如何,我的代码仍然在调用math.h函数。

在花了一些时间查看所有的项目编译器设置之后,我发现禁用"Modules“特性(@import vs #import - iOS 7)使其全部工作。更具体地说,项目设置中的选项在Enable Modules(C and Objective-C)下拉列表中称为Apple LLVM 5.1 - Language - Modules

要查看有关此问题的快速示例,请下载一个使用tg计量、比如MBProgressHUD的项目,并查看启用模块项目设置时会发生什么。tgmath.h调用被替换为常规的math.h调用。

我的问题是:

  1. 为什么模块会阻止tgmath被正确导入?
  2. 有没有一种方法可以绕过它,同时使用tg计量和模块?我仍然希望能够使用它们。
EN

回答 2

Stack Overflow用户

发布于 2015-08-25 00:09:55

我不知道是什么导致了这个问题,但作为一种解决办法,您至少可以在使用tgmath.h的文件中禁用模块

  • 导航到Xcode中的目标构建阶段选项卡。
  • 在编译源代码阶段,定位源文件。
  • 双击源文件并在Compiler中键入-fno-modules以禁用该文件的Clang模块。

至少这样,您仍然可以在大多数项目中获得模块的好处。(当然,这是假设您在大多数源文件中不需要tgmath.h。)

票数 3
EN

Stack Overflow用户

发布于 2014-07-17 12:12:44

它可能已经在您的数学库中,名为ctgmath:链接

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23333287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档