【发布时间】:2015-06-22 08:56:00
【问题描述】:
我已经设置了一个项目文件夹,其中我有主项目目录,比如Main_Proj。在那个文件夹中,我为Header_Files 和Source_Files 创建了两个文件夹。
文件夹Header_Files 仅包含所有头文件。可以说module_1a.h 等等。而文件夹Source_Files 包含main.c 和模块明智的文件夹,假设Module_1 仅包含特定模块所需的.c 文件。例如,文件夹Module_1 包含Module_1a.c 和Module_1b.c。
所以Module_1a.c 的路径是 =
Main_proj\Souce_Files\Module_1\Module_1a.c
在所有源文件中,我都包含了如下头文件 -
//Code for Module_1a.c
#include "..\..\Header_Files\Module_1a.h"
....
我的 IDE 是 MP LAB,此代码和所有模块都可以与 MP LAB xc8 编译器一起正常工作。
当我开始 Linting 我的代码时出现问题,它给了我类似的错误 -
错误 322:无法打开包含文件 '....\Header_Files\Module_1a.h'
我正在使用 PC Lint for C 和 C++(版本 9)。我在 Regference 手册中搜索了此错误的解决方法,并知道使用 -i 选项包含该目录。
我也检查了set INCLUDE=<directory Path>,但它不起作用。
我可以对我的 std.lnt 文件做些什么,或者我必须更改我的项目的文件夹结构吗?
【问题讨论】:
-
由于有问题的包含有一个相对引用,它可能从哪个目录 lint 开始,或者至少以某种方式告诉它假设它从哪里开始。
-
"-i" 应该可以工作。发布您的目录和根目录结构。 (您也可以使用绝对路径,但这并不容易移植) Lint 位于标准目录 C\lint?
-
@Miguel13366 :是的,使用绝对路径 Lint 工作正常,但是用绝对路径替换所有包含将需要大量返工。 Lint 位于 C 目录中。我将我的项目文件夹保存在桌面中,并在 std.lnt 中包含此路径,如下所示 - -i"C:\Users\
\Desktop\Main_Proj\Header_Files\" -
也许你在文件名前添加路径时遇到问题#include "Header_Files\header.h" 和 Headerfiles\Headerfiles\ 中的 lint 搜索您可以使用 FIND 并打印所有 c 和 h 文件放入一个 txt 文件中,因此您可以将它们复制到您的 lint 文件中。您的 std.lnt 在 "C\lint" 中还是在 "C:\Users\
\Desktop\Main_Proj\" 下?通常我在项目中有一个 lint 目录,其中包含配置文件,并且路径与该目录相对。
标签: c header-files lint