使用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文件和定义中的原因. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |