xcode生成错误:";'的冲突类型;uint64&x27&引用;对我来说毫无意义
我不是一个普通的程序员,但有必要。我正在使用tiff-4.0.3作为升级到MacOS 10.5下运行的xcode程序的一部分 生成时,我会收到错误消息: “uint64”的冲突类型 标记的行位于tiff.h中,内容如下:xcode生成错误:";'的冲突类型;uint64&x27&引用;对我来说毫无意义,c,xcode,C,Xcode,我不是一个普通的程序员,但有必要。我正在使用tiff-4.0.3作为升级到MacOS 10.5下运行的xcode程序的一部分 生成时,我会收到错误消息: “uint64”的冲突类型 标记的行位于tiff.h中,内容如下: typedef TIFF_UINT64_T uint64; /* Unsigned 64-bit type */ #define TIFF_UINT64_T unsigned long 在使用TIFF_UINT64_T的项目中,我能找到的唯一一行代码位于tiffconf.
typedef TIFF_UINT64_T uint64;
/* Unsigned 64-bit type */
#define TIFF_UINT64_T unsigned long
在使用TIFF_UINT64_T的项目中,我能找到的唯一一行代码位于tiffconf.h中,内容如下:
typedef TIFF_UINT64_T uint64;
/* 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
(或其某些变体),此行将uint64
定义为unsigned long
。(这是否正确取决于编译器设置,但与unsigned long long
不同)。在我看来,这在定义此类型的libtiff
和Apple库中都是一种糟糕的编码实践
例如,在/System/Library/Frameworks/Security.framework/Headers/cssmconfig.h
中定义了类型uint64
修复此问题的最佳方法可能是修补libtiff
,以使用uint64\u t
而不是无符号long
(我将错误报告提交给了。)