今天发现了一个经典错误。
这两个文件都是同时导入项目里面的,但是C++文件可以读取到,但是C文件读取不到。按道理说都是group不是folder。因为都是黄色文件夹,不是蓝色文件。楼主顺便看了每个文件的路径设置,感觉都没错,都是相对路径,也不是绝对路径。
接下来我们谈一下grop和folder的区别。
Group一般是以文件夹的形式存在的,但是对于Xcode来说里面的文件都是相互独立的,所以可以在引入头文件的时候不需要指定是哪个文件夹的; 会通过编译器的编译; 导入的文件放在Build Phases–>Compile Sources中; 文件夹是黄色的;导入第三方框架选择Group。
Folder只是资源的引用,作为整体导入文件,因此在引用时需要先引入文件夹,然后才能找到想要导入的文件,例如要导入refreshController问价夹中的refresh.h文件,只能通过 #import "refreshController/refresh.h" 的形式; 不会通过编译器编译; 导入的文件放在 Build Phases ->Copy Bundle Resources中;文件夹是蓝色的;导入像图片之类的资源选择Folder。
说说我的解决方法,我导入的时候将设置改成了group,但是还是没有读取到。后来我选择从项目中移除,然后选择了addFileTo。因为addFile是系统帮我们自动去设置路径,然后问题就解决了。虽然没有查到最终是哪个地方设置错了。
另外还要说一点,如果项目中导入了C或者C++文件。
pch的其中的一定要这么写直接加在系统的两句代码之后。
网友评论