Xcode增加头文件搜索路径的方法

以C++工程为例:
Build Settings 页面中的Search Paths一节就是用来设置头文件路径。
相关的配置项用红框框起来了,共有三个配置项:
Header Search Paths
User Header Search Paths
Always Search User Paths

xcode的头文件路径有两种设置,一种是Header Search Paths,另一种是User Header Search Paths。两者对应两个include方式:

  1. #include <boost/noncopyable.hpp> // 通过Header Search Paths搜索
  2. #include "boost/noncpyable.hpp" // 通过User Header Search Paths搜索
  • 1
  • 2
  • 1
  • 2

前者生成类似“-I path/to/header”的编译选项,后者生成类似“-iquote path/to/header”。 
如果在User Header Search Paths设好了路径,但是代码用include <>包含头文件,编译会报错。这时把Always Search User Paths设置成Yes,强制include <>也在User Header Search Paths搜索。 
Always Search User Paths设置成Yes后,User Header Search Paths生成的编译选项变成“-I path/to/header”,而且会放在Header Search Paths的前面,所以User Header Search Paths会优先搜索。

Xcode增加头文件搜索路径的方法的更多相关文章

  1. Linux 中C/C++ search path(头文件搜索路径)

    https://blog.csdn.net/BjarneCpp/article/details/76135980 起因 我拿到了一套Linux下的C++代码,代码中有这个头文件#include < ...

  2. Linux下的头文件搜索路径

         对于以压缩包发布的软件,在它的目录下通常都有一个配置脚本configure,它的作用确定编译参数(比如头文件位置.连接库位置等),然后生成Makefile以编译程序.可以进入该软件的目录,执 ...

  3. Linux C语言头文件搜索路径

    本文介绍在linux中头文件的搜索路径,也就是说你通过include指定的头文件,linux下的gcc编译器它是怎么找到它的呢.在此之前,先了解一个基本概念. 头文件是一种文本文件,使用文本编辑器将代 ...

  4. linux下编译时的默认库和头文件搜索路径

    链接库路径 默认的链接库路径,定义在搜索/etc/ld.so.conf下的一些路径,其包含了一些重要的系统位置:LIBRARY_PATH, 但如果定义了LD_LIBRARY_PATH, 动态库的搜索路 ...

  5. eclipse C开发添加自己的头文件搜索路径

    eclipse编译C程序时提示: ..\src\main.c:8:21: fatal error: my_type.h: No such file or directory 如图: 需要添加自己的头文 ...

  6. linux gcc头文件搜索路径

    #include <>: 直接到系统指定的某些目录中去找某些头文件.#include "": 先到源文件所在文件夹去找,然后再到系统指定的某些目录中去找某些头文件 1. ...

  7. GCC编译默认的头文件搜索路径

    对于c语言来说: gcc -xc -E -v - 截图: 对于c++来说: gcc -xc++ -E -v - 截图: gcc的arg和opt解释: 后面一干啥作用暂时不知道

  8. gcc和arm-linux-gcc 头文件寻找路径【转】

    原文地址:http://blog.chinaunix.net/uid-29145190-id-3867605.html 在LINUX程序设计当中,经常会遇到头文件包含的问题,那么这些头文件到底在哪个路 ...

  9. gcc编译时头文件和库文件搜索路径

    特殊情况:用户自定义的头文件使用#include"mylib"时,gcc编译器会从当前目录查找头文件 一.头文件 gcc 在编译时寻找所需要的头文件 :    ※搜寻会从-I开始( ...

随机推荐

  1. 微信小程序let和var以及const有什么区别

    在JavaScript中有三种声明变量的方式:var.let.const. var:声明全局变量,换句话理解就是,声明在for循环中的变量,跳出for循环同样可以使用. for(var i=0;i&l ...

  2. C# JSON的序列化与反序列化

    需要添加引用:System.ServiceModel.Web 和 System.Runtime.Serialization,然后使用Using: using System.Runtime.Serial ...

  3. 【WinForm-无边框窗体】实现Panel移动窗体,没有边框的窗体

    没有边框的窗体怎么移动?其实方法有很多,下面介绍一种用控件来移动窗体,Panel或PictureBox都可.主要设置控件的MouseDowm和MouseLeave事件. 第一步:窗体设计 窗体最上面是 ...

  4. css,scss解决样式:表格的重叠边框

    初始效果: 解决方法: 给带有边框的元素设置如下样式margin:0 0 -borderwidth -borderwidth 这里的borderwidth即为边框的宽度,按照上图所示,则添加样式 ma ...

  5. 在Controller中使用AOP

    转:http://usherlight.iteye.com/blog/1306111 在Controller中使用AOP的问题主要在于如何让Controller能够被检测到. Controller和其 ...

  6. CF 352 D 罗宾汉发钱 模拟题+贪心

    D. Robin Hood time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  7. JSP中EL表达式不能使用的问题

    在JSP2.0中,增加了EL语言,可以通过EL语言,可以通过EL语言,实现获取数据,进一步将scriptlet 代码从JSP页面中分离出来.EL语言给大家带来了方便,但有时,也会遇到EL表达式不能显示 ...

  8. crontab 常见 /dev/null 2>&1 详解

    大部分在 crontab 计划任务中都会年到未尾带 >/dev/null 2>&1,是什么意思呢? > 是重定向 /dev/null 代表空设备文件 1 表示stdout标准 ...

  9. JavaWeb_初识监听器Listener

    监听器(listener):对项目起到监听的作用,它能感知到包括request(请求域),session(会话域)和applicaiton(应用程序)的初始化和属性的变化 监听器是Servlet规范中 ...

  10. vue跳转到指定位置

    document.querySelector(id).scrollIntoView(true)//跳转到顶部 window.scrollTo(0, 0)