Clearcase vobs 中的 Eclipse C++:未解决的包含

问题描述

我想了解一下为什么我的项目中包含的某些 unresolved inclusion 文件出现“.h错误

我实际上是通过简单的复制、粘贴和重命名从另一个现有项目克隆了该项目。
在最初只有一个 src/ 目录的克隆项目中,我还创建了一个 tst/ 目录并执行了 right-click->New->Folder 并从菜单中单击 Advanced >> 并选择了“{ {1}}”并浏览到 Link to alternate location (Linked Folder) 下的相关路径,将源文件添加到我的项目中。

一旦我这样做了,索引器就开始重建索引,最后我得到了上面提到的包含错误

/vobs 文件可能位于 .h 下的特定文件夹路径中;我首先尝试通过右键单击克隆的项目并选择 /vobsProperties->Paths 来使用文件夹路径更新包含列表来包含此路径。这并没有解决错误

随后,我尝试对项目中新创建的 Symbols->Includes 目录重复上述过程;这也没有解决错误

不确定我在这里遗漏了什么。
任何建议将不胜感激。

解决方法

在您看来,首先检查这些文件是否存在。 “/vob”可能表示动态视图,安装在 /vob 下。

我更愿意使用快照视图,它将在磁盘上下载相同的文件(而不是使用动态视图的 MVFS,多版本文件系统)。

然后,当您确定文件在那里并且 cleartool ls 显示它们正确加载时,您可以仔细检查您的包含路径,如 mentioned here

unresolved inclusion”表示找不到文件。
这意味着包含它的目录尚未指定给 CDT 或拼写错误。

如果拼写正确,通常您会在 Project --> Properties --> C/C++ General --> Preprocessor Include Paths,Macros 选项卡上使用 Entries 等指定路径作为用户条目。

请注意,这取决于项目类型。
当您选择 File --> New -> C/C++ Project 时,您会看到各种选项。 这些选项适用于所使用的构建器类型。 一些,例如 Meson、Qt、Arduino 和其他可能没有“Preprocessor”选项的选项。

,

猜测是您在启动 Eclipse 时没有设置在视图中。这将阻止解析绝对“/vobs/...”路径。如果您从 GNOME(或任何其他窗口环境)启动 Eclipse,则 Eclipse 的当前工作目录可能是您的主目录。如果没有视图上下文,/vobs/... 路径将不包含任何受源代码控制的文件。

您可以在包含路径中使用 /view/myview/vobs/myvob/... ,但这意味着使用该项目的每个人都必须启动您的视图或创建并启动一个同名的视图.. . 而这只是那个特殊的蠕虫罐头的开始。

您可能想确认 Eclipse 如何处理包含路径中的相对路径。它们是否从 Eclipse 的当前工作目录开始?项目主目录?别的地方?这可能会为您提供一种安全的与视图无关的方式来指定包含路径。

我会尝试设置一个视图并从 cleartool setview 产生的子 shell 中启动 Eclipse。然后验证包含是否可访问。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...