xcode编译遇到的问题
2022-07-15 本文已影响0人
许彦峰
查看当前项目构建的target依赖项目的target
配置项目前一定要确认相关的target
![](https://img.haomeiwen.com/i3375785/2be2a7272bf21338.png)
注意target之间的配置是相互隔离的,有点类似visual studio的配置
![](https://img.haomeiwen.com/i3375785/a958e2c2e41ece2b.png)
配置头文件目录
![](https://img.haomeiwen.com/i3375785/f8b4c2f6f281b30f.png)
header search paths
和user header search paths
的区别:
- #include <stdio.h>
当我们这样引入头文件时,只会从header search paths
中查找 - #include "stdio.h"
当我们这样引入头文件时,会优先从user header search paths
中查找,其次再从header search paths
中查找
undefined symbols
![](https://img.haomeiwen.com/i3375785/c88bc7fc1325a081.png)
排查步骤:
- 先确定
user header search paths
是否正确配置 - 确定
source code
的target
当我们将source code
添加到项目时,需要选择target
的,如果选择了错误的target
,可能source code
就不会参与build,当然也就会报错undefined symbols
,这种问题对于新手也是比较难排查到的,虽然明明已经添加到了项目中,但是build的时候就是报错。
当我们选中source code
的时候,在属性中可以看到target
信息:
![](https://img.haomeiwen.com/i3375785/f348c4bdf7f8ab8b.png)
这个只能修改单个文件,如果要修改整个文件夹的target,建议还是移除后重新添加。
注意头文件也不能修改
Target Membership