使用括号而不是引号定义的供应商的预处理指令

时间:2014-12-29 20:35:21

标签: c include c-preprocessor brackets preprocessor-directive

我正在查看来自供应商的一些 C 代码,其中包含预编译的 C 文件及其自己的头文件。我遇到的问题是:由于它是特定于供应商的代码,因此我无法对代码进行读/写访问(由于某种原因,它会阻止我,但这是一个不同的问题)他们将预处理指令定义为:

#include <fun.h>

这很好,但由于我无法编辑文件,我无法追加.h文件的路径,如

#include "C:\some\directory\fun.h"

我假设当我在我的计算机上安装他们的软件时,安装没有将所有内容放在应该去的地方,因为它说它在文档中这样做,而且它是他们软件的新版本,所以..是的,错误。

有没有办法告诉编译器包含路径而不将整个内容移动到本地目录或系统目录,我甚至不确定这些目录是什么,但我知道有一些。

解决方案:
通过添加

的路径将文件夹添加到路径目录

项目名称 - &gt;搜索目录 - &gt;编译器(这个特别是在代码块中)
这也假设您正在使用IDE。如果从cmd提示符编译,我检查标记的解决方案是正确的。

如果您尝试编译的文件不是项目的一部分,它将反复要求您构建文件,然后不执行任何操作。因此,请务必将其添加到项目中。

另外。
我遇到的问题,即无法编辑供应商文件,实际上是应该的 仅读取文件夹Program Files(x86)的权限。可能有几种解决方法,简单地将权限更改为读/写是不够的。据我了解,我正在开发一个Windows 7平台,这是Windows 7的一个功能。我发现将我想编辑的文件移动到另一个文件夹,更改代码,然后将其移回更容易。

1 个答案:

答案 0 :(得分:2)

C:\some\directory添加到包含搜索路径。 大多数编译器使用-I/I开关

执行此操作

for gcc-I C:/some/directory添加到编译器命令行