[已解决]Xcode中导入SwiftXMPP后编译出错:XMPPFramework/Vendor/facebook-ios-sdk/vendor/OCHamcrest/Source/Tests/Collection/IsInTest.m:12:9: ‘OCHamcrest/HCIsIn.h’ file not found

Xcode项目,导入了,之前已经在别处编译通过的,SwiftXMPP的源码,后,编译出错,找不到头文件:
XMPPFramework/Vendor/facebook-ios-sdk/vendor/OCHamcrest/Source/Tests/Collection/IsInTest.m:12:9: ‘OCHamcrest/HCIsIn.h’ file not found
如图:
XMPPFramework Vendor facebook-ios-sdk vendor OCHamcrest Source Tests Collection IsInTest.m OCHamcrest HCIsIn.h file not found
但是诡异的是,此处已经去添加对应的搜索路径了:
has added XMPPFramework search path
然后此设置,在之前的项目中,也是生效的,可以找到头文件的。
不知道为何此处,虽然设置了头文件和库文件搜索路径后:
Header Search Paths和Library Search Paths
为何还是搜不到头文件。。。
搜:
xcode set search path still not find header file
参考:
去设置 Framework Search Paths试试
set Framework Search Paths
问题依旧。
然后发现好像是:
此处的代码是:
IsInTest.m中的:
#import <OCHamcrest/HCIsIn.h>
但是HCIsIn.h所在的路径是:
XMPPFramework/Vendor/facebook-ios-sdk/vendor/
下面的:
OCHamcrest/Source/Library/Collection/HCIsIn.h
而不是:
OCHamcrest/HCIsIn.h
所以估计找不到
所以去改为:
//#import <OCHamcrest/HCIsIn.h>
#import <HCIsIn.h>
试试:
好像就编译通过了。。。
seem found HCIsIn can compile
所以:此处不是搜索路径设置有误,而是头文件中路径有误。
但是后面会出现类似的,很多的头文件都找不到。。。
一个个改,累屎了。
-》
后来的后来,终于搞懂了:
原来是,原先的SwiftXMPP项目可以正常编译,没有出现此处一堆的头文件找不到的问题,
是因为:SwiftXMPP项目,虽然导入了对应的XMPP的库:XMPPFramework
但是:
该文件夹下面的一堆的子文件夹,用于测试的,demo等等,和库源码本身没有关系的文件,都删除掉:
-》所以你到项目的目录下面去看的时候,是有这些无用的,多余的文件的
see some useless facebook files
-》但是在Xcode项目中,却看不到这些文件了:
即:Xcode项目中facebook-ios-sdk文件夹下面都是空的:
facebook-ios-sdk is empty
-》因为其把不用的文件和文件夹都是:
删除了reference引用-》从项目本身删除掉,不用编译了,而不是物理上删除了这些文件
delete unused facebook-ios-sdk files
only remove references for facebook ios sdk files
for all xmpp framwork related file references delete
以及:module也删除引用。
如此,两个项目此时的,所包含的库的文件,才一样:
the two project files look same
如此,再去编译看看。
然后最后终于编译成功了。


发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量