在处理arm64时,我考虑使用tgmath.h
来处理CGFloat typedef float/double
混乱。
这个答案对如何使用它有很好的描述,除了它对我一点都不起作用。无论如何,我的代码仍在调用math.h
函数。
花了一些时间查看所有项目编译器设置后,我发现禁用“模块”功能(@import vs #import-iOS 7)可以使所有功能正常工作。更具体地说,在项目设置中的选项被称为Enable Modules(C and Objective-C)
在Apple LLVM 5.1 - Language - Modules
下拉列表中。
要查看此问题的快速示例,请下载使用tgmath的项目,例如MBProgressHUD,并查看启用模块项目设置时会发生什么。该tgmath.h
呼叫会被替换成普通math.h
电话。
我的问题是:
为什么模块会阻止tgmath正确导入?
有没有一种解决方法,可以同时使用tgmath和模块?我仍然希望能够使用它们。