在处理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调用。
我的问题是:
发布于 2015-08-25 00:09:55
我不知道是什么导致了这个问题,但作为一种解决办法,您至少可以在使用tgmath.h的文件中禁用模块
-fno-modules以禁用该文件的Clang模块。至少这样,您仍然可以在大多数项目中获得模块的好处。(当然,这是假设您在大多数源文件中不需要tgmath.h。)
发布于 2014-07-17 12:12:44
它可能已经在您的数学库中,名为ctgmath:链接。
https://stackoverflow.com/questions/23333287
复制相似问题