加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Objective-C编译C并重复符号链接器错误(与iPhone相关)

发布时间:2020-12-14 18:05:36 所属栏目:百科 来源:网络整理
导读:我有以下文件testf.h: #ifndef TESTF_H_#define TESTF_H_int test(int what){ return what;}#endif 我将它包含/导入TestAppDelegate.h(用于我的xcode项目中的其他.m文件).我得到一个重复的符号错误.如果我在一个从未包含/导入其他文件的.m文件中包含/导入te
我有以下文件testf.h:

#ifndef TESTF_H_
#define TESTF_H_
int test(int what){
    return what;
}
#endif

我将它包含/导入TestAppDelegate.h(用于我的xcode项目中的其他.m文件).我得到一个重复的符号错误.如果我在一个从未包含/导入其他文件的.m文件中包含/导入testf.h,那么它可以正常工作.所以似乎#ifndef / #define / #endif没有效果.反正有没有绕过这个?

谢谢

解决方法

这是一个函数定义,它属于c,cpp或m文件.

使用#defines这一流行技巧可以保护您免受编译器错误的影响(通常是为了解决循环#include依赖关系.)它不能防止链接器错误.这正是人们将声明放在c(或m)文件中的h文件和定义中的原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读