在用xcode写测试程序的过程中,因为要用到我事先在win环境下的一些代码,将他们include进来,于是发生了c++代码与objective-c代码混编的问题,报错极其诡异。弄得我总是不知所踪。终于在对比了一个参考项目后,找到了问题所在。
解决方法如下:
在项目targets设置里的gcc 4.x - Language里面的GCC_INPUT_FILE_TYPE设置成objective-c++。这个模式是c++与objective-c混编的模式。
一开始看到一份号称翻译的官方文档,是将.m文件改名成.mm即可,这个方法确实可以,因为在默认选项According to File Type里.mm即为c++与objective-c混编模式。但有些时候,因为需要用win平台下的VC与xcode联合开发(处于资源处理多用win,于是在win平台建立一套开发环境也很必要)所以,很想让VC同样能够识别出.cpp的文件,方便调试。于是并不想改后缀名。所以应该用如上方法。
总之解决了,真痛快!
在使用Xcode编写测试程序时,遇到C++代码与Objective-C代码混编导致的诡异错误。通过调整项目targets设置里的GCC_INPUT_FILE_TYPE为objective-c++模式,成功解决了混编问题,实现C++与Objective-C代码的兼容。
4056

被折叠的 条评论
为什么被折叠?



