您的位置:首页 > 游戏 > 手游 > 优秀平面广告设计赏析_上海传媒公司介绍_产品线上推广方案_有了域名怎么建网站

优秀平面广告设计赏析_上海传媒公司介绍_产品线上推广方案_有了域名怎么建网站

2024/12/23 7:48:14 来源:https://blog.csdn.net/zuguorui/article/details/143263391  浏览:    关键词:优秀平面广告设计赏析_上海传媒公司介绍_产品线上推广方案_有了域名怎么建网站
优秀平面广告设计赏析_上海传媒公司介绍_产品线上推广方案_有了域名怎么建网站

XCode16中新建Framework,写完自己的c++代码后,提示“<string> file not found”等诸如此类找不到c++头文件的错误。
工程结构如下:
在这里插入图片描述

App是测试应用,BoostMath是Framework。基本结构可以参考官方demo:Mix Swift and C++ within a single framework target。

按照官方文档,要启用swift和c++混编,要在App和BoostMath改为如下设置:
在这里插入图片描述
import到伞头文件BoostMath.h里的其他头文件也要改为public的。例如
在这里插入图片描述
那么要在BoostMath的Build Phase中将math_func.hpp也改为public的。
在这里插入图片描述
这样,如果只用c语言来写public header,就没问题了。但是如果public header需要用c++来写,那么还需要一个设置:

在这里插入图片描述
注意要在App和Framework中都设置这项。
这里默认是objective-c objective-c++,那样的话是无法找到c++头文件的,需要删除objective-c。猜测是混编的桥接文件是c或者oc的,在oc时代与c/c++混编的话,如果是oc文件引入c++文件也会出现c++头文件找不到的错误,目前网上出现这种问题基本都是提示是否是mm文件引用了c++文件。

====== 更新 ========
经过测试,module verifier是可以关闭的。如果我们切换到主工程或者App的设置页面,发现它默认是关闭的,只有对clang module是打开的:

在这里插入图片描述
关闭module verifier之后,就不用改supported languages了。并且还会大幅提升Framework的编译速度。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com