objective-c - 包含 .h 文件时出现重复符号

标签 objective-c ios c header-files

<分区>

Possible Duplicate:
obj-c duplicate symbol for header variable

我的项目中有多个 .m 和 .mm 文件。我可以根据需要将此 .h 文件(dosent 具有相应的 .m 或 .mm 文件)包含在尽可能多的 .m 文件中,但是当我将它包含在多个 .mm 文件中时,我会收到重复符号链接(symbolic link)器错误。

同样在 .h 文件中,我用预处理器命令包围了内容(在 obj-c 中是否遵守这些命令?)这是它的大部分内容:

#ifndef _CONFIG_H_
#define _CONGIF_H_

CGFloat WIDTH, HEIGHT;
// other similar code...

#endif

我在 WIDTH 和 HEIGHT 上收到重复符号错误

最佳答案

你应该添加

extern

头文件中 CGFloat 声明之前的关键字,并在 .m 文件中定义不带 extern 的变量,以避免在多个地方定义变量。

在标题中:

extern CGFloat WIDTH, HEIGHT;

在.m文件中(其中之一,任何一个)

CGFloat WIDTH, HEIGHT;

关于objective-c - 包含 .h 文件时出现重复符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319295/

相关文章:

objective-c - 在 iOS 应用程序中声明全局变量的最佳做法是什么?

objective-c - 为不同的声音重用 AVAudioPlayer

ios - 使用[popviewcontroller]传回数据,并重新加载数据

ios - Apple Mach-O for libAppLovinSdk.a in cocos2d for iPhone

ios - 如何通过 API 调用使用 ChimpKit for iOS 添加到 MailChimp 列表而不验证电子邮件?

ios - Objective-C 中 HMAC SHA1 实现的问题

c - C 中 x11 的链接问题

c - 在结构体中打印任意大小的数组

c - 在 C 中使用递归插入二叉搜索树

objective-c - uibutton,放置“目标”和“ Action ”