【问题标题】:Eclipse C++ in Clearcase vobs: Unresolved inclusionClearcase vobs 中的 Eclipse C++:未解决的包含
【发布时间】:2021-04-28 20:40:48
【问题描述】:

我想了解您对我项目中包含的某些 .h 文件为何收到“unresolved inclusion”错误的看法。

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

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

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

随后,我尝试对项目中新创建的tst/ 目录重复上述过程;也没有解决错误。

不确定我在这里缺少什么。
任何建议将不胜感激。

【问题讨论】:

    标签: c++ eclipse include clearcase


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

    • 谢谢,但很遗憾在这种情况下我无法使用快照视图。
    • @Vinod 好的。检查 cleartool ls 返回的内容,以确保这些文件可通过您的动态安装视图获得。
    • @VonC 我希望需要构建审计或其他一些动态视图特定的功能......
    • @Vinod 如果您在包含中使用 /vobs,您是否设置在 Unix 上的视图中?如果 Eclipse 是从 GNOME shell 启动的,它将没有 GNOME shell 工作的视图上下文,这可能至少是问题的一部分。您必须运行“cleartool setview {viewname}”并从生成的 shell 运行 Eclipse。如果不这样做,Von 使用 cleartool ls 的建议将报告“无法确定 '.' 的视图:不是 ClearCase 对象。”因为 cleartool 没有要解决的视图上下文
    • @BrianCowan 是的,我怀疑 Unix 动态视图,setview。我不喜欢的那种设置;)一般来说,使用你提到的审计构建(flylib.com/books/en/2.615.1.67/1),clearmake 会更好吗?
    【解决方案2】:

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

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

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

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

    【讨论】:

    • 我的经验是,如果我的视图没有设置,我无法启动 Eclipse
    猜你喜欢
    • 2014-01-30
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-29
    • 1970-01-01
    • 2012-08-25
    相关资源
    最近更新 更多