1

我正在尝试const CGFloatHeader.h文件中添加常量:

#import <UIKit/UIKit.h>

#ifndef Sample_Header_h
#define Sample_Header_h

const CGFloat myCustomCoordinateY = 430.0f;

#endif

我总是遇到错误:

ld: 6 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已经用谷歌搜索了这个错误,但遗憾的是我仍然没有找到解决方法。这个问题有什么解决办法吗?

4

1 回答 1

4

该变量定义在一个头文件中,当您在多个.m 或.mm 文件中导入头文件时,会导致重复符号错误。

解决方案是在头文件中声明它并在 .m 或 .mm 文件中为其分配一个值。

头文件:

extern const CGFloat myCustomCoordinateY ;

.m 文件:

#import "Header.h"
const CGFloat myCustomCoordinateY = 430.0f ;
于 2014-10-23T07:52:26.893 回答