c - xcode 构建错误 : "Conflicting types for ' uint6 4' " makes no sense to me

标签 c xcode

我不是一名普通的程序员,但也是必要的。我使用 tiff-4.0.3 作为我在 MacOS 10.5 下运行的 xcode 程序升级的一部分

当我构建时,我收到错误消息:

Conflicting types for 'uint64'

标记的行位于 tiff.h 中,内容如下:

typedef TIFF_UINT64_T  uint64;

我在项目中可以找到的带有 TIFF_UINT64_T 的唯一另一行位于 tiffconf.h 中,内容如下:

/* Unsigned 64-bit type */
#define TIFF_UINT64_T unsigned long

无论如何,这个错误对我来说毫无意义。有大量类似的定义,但没有一个定义标记相同的错误。库 libtiff.la 是否有可能有冲突的定义?有什么方法可以检查吗?我无法让 NM 或 otool 来揭示库中的内容。

除此之外,我不知道该去哪里寻找。我已经完成了几次配置/制作/安装,以防过程中出现一些遗漏,但无济于事。

最佳答案

typedef TIFF_UINT64_T  uint64;

这定义了一个名为uint64的新类型。但是,您使用的另一个库很可能定义了 uint64,因为它是一个非常常见的类型名称。

在注释掉 tiff.h#include 后,尝试要求 Xcode 显示 uint64 的定义,看看还有什么地方已定义。

这些类型可能会发生冲突,因为 uint64 通常被定义为 unsigned long long (或其某种变体),而这一行定义了 uint64作为unsigned long。 (这是否正确取决于编译器设置,但它与unsigned long long不同)。

关于c - xcode 构建错误 : "Conflicting types for ' uint6 4' " makes no sense to me,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15725561/

相关文章:

ios - Unity iOS Build 尺寸很大

c - 为什么直接将值传递给 sizeof 运算符时,数据类型的大小会不同?

iOS 10.0.1 和 Xcode 错误 : "Could not find developer disk image"

iphone - 如何从 iPhone 应用程序发送邮件?

c++ - EXIT_SUCCESS 和 EXIT_FAILURE。是一次编译到处运行还是一次编写到处编译?

iphone - 如何检查我是否可以使用 NSError 从包中读取图像?

ios - Google Places API 未按预期工作

c - "space bar"之后扫描字符终止的问题

字符 * 与字符 []

c - 为 union 分配内存以及 union 指针和指针 union 之间的区别