C++ 包含C+时出现编译器错误+;iPhone项目中的代码
我尝试将一些C++代码包含到我的iPhone项目中,我得到以下编译器错误:C++ 包含C+时出现编译器错误+;iPhone项目中的代码,c++,iphone,cocoa-touch,C++,Iphone,Cocoa Touch,我尝试将一些C++代码包含到我的iPhone项目中,我得到以下编译器错误: >“错误:在之前的预期初始化程序。您可能将某个头包含在.m文件中。这些东西是如何被拉进来的,这是惊人的,所以请确保 >所有< /强>的m文件被重命名。mm。 < p>您只需要命名一个文件。如果文件包含ObjuleC和C++,则文件为MM。 如果文件只包含C++,则应该有扩展名。CPP 如果文件是Objc和C++的混合,那么它应该有扩展名.mm,并且它的类型设置为SuxCeCord.CPP.ObjCPP < P>你
<强> >“错误:在之前的预期初始化程序。您可能将某个头包含在.m文件中。这些东西是如何被拉进来的,这是惊人的,所以请确保<强> >所有< /强>的m文件被重命名。mm。
< p>您只需要命名一个文件。如果文件包含ObjuleC和C++,则文件为MM。如果文件只包含C++,则应该有扩展名。CPP
如果文件是Objc和C++的混合,那么它应该有扩展名.mm,并且它的类型设置为SuxCeCord.CPP.ObjCPP
< P>你确定你要编译的源文件包括声明< < EKType > /Cuff>类(或结构)和声明<代码> pUuTuny32 ?如果编译器不知道
EKType
或p\u UINT\u 32
是的,谢谢。我将它们更改为.cpp,但这没有什么区别谢谢你的建议。我将所有.m文件重命名为.mm,但仍然会收到相同的错误。你必须查看构建日志(Shift+Cmd+B)。查看发现错误时正在编译的文件(而不是双击错误时打开的文件)。然后查看包含链以确定是否正在编译任何非MM文件。谢谢。因此,我正在查看生成日志,并且在发生错误时正在编译的文件是一个.cpp文件。该文件包括一个.h(c++)文件,仅此而已。除非您指的是包含链?
template<typename T, P_UINT_32 BEG, bool OQ, bool OVR, bool DBG>
P_UINT_32 EKType<T, BEG, OQ, OVR, DBG>::getSizeX() const {
return n;
}