有一个名为GeneralUtils.m的文件及其头文件。 我在几个IOS项目中使用它作为共享方法。
问题: 一些项目正在编制成功。 但是其中一个项目在编译时抛出错误:比我将m文件扩展名更改为mm文件。 顺便说一句;顺便说一下;其他项目不再编译和重命名,再将mm扩展为“m”。
我想了解逻辑。 为什么我的一些IOS项目希望它的扩展名为m而另一个希望它作为mm文件扩展名
错误详情:
Undefined symbols for architecture armv7:
"randIntBetween(int, int)", referenced from:
-[Blah method1] in File1.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
答案 0 :(得分:6)
扩展名.m表示它是Objective-C,扩展名.mm表示它是Objective-C ++。所以这些是不同的文件,你应该知道它里面有什么。