首页 > 其他 > 详细

pod lib 中包含c文件 编译出现"Could not build module 'Foundation'"

时间:2021-05-27 11:19:27      阅读:28      评论:0      收藏:0      [点我收藏+]

问题

最近的项目开发中用到了c文件,c中引用了oc的foundation库,正常我们改下文件的类型就可以编译通过了,参考链接

但是我们使用的是pod创建的lib库,不能去手动改工程,而且C文件一般是由别人提供的,我们也不能改文件类型。只能交给podSpec 文件了,在生成workspace时直接修改project中的参数。

过程

使用方案三,直接修改对应pod的build setting 编译发现问题解决了。

技术分享图片

于是在podSpec中添加

  # s.pod_target_xcconfig = { ‘GCC_INPUT_FILETYPE‘ => ‘Objective-C++‘}

执行 pod install 之后

技术分享图片

虽然显示的是Objectvie-C++了,但是编译依然不能通过,从图片上也可以看出来,好像是两个东西。

解决

手动修改成Objectvie-C++后,从workspace中全局搜索GCC_INPUT_FILETYPE

搜索到如下结果:
技术分享图片

于是修改为如下

  s.pod_target_xcconfig = { ‘GCC_INPUT_FILETYPE‘ => ‘sourcecode.cpp.objcpp‘}

编译通过了。

亲测 使用下面的设置也可以

  s.xcconfig = { 
    ‘GCC_INPUT_FILETYPE‘ => ‘sourcecode.cpp.objcpp‘
  }

但是不能两个同时设置。

提示:

我们可以使用下面的方法,查看buildsetting对应的key值

技术分享图片

pod lib 中包含c文件 编译出现"Could not build module 'Foundation'"

原文:https://www.cnblogs.com/absty-guo/p/14815409.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!