带有 CDT 的 Eclipse Juno 不添加内置包含目录

2024-02-21

自从我从 Eclipse Indigo 升级到 Juno(在 Ubuntu 12.04 上)后,我一直遇到一个问题,它显示标准库的“未解决的包含”错误(例如,在#include <iostream> and #include <vector>等),尽管程序构建并运行良好(使用 g++)。这种情况仅发生在使用 Juno 创建的新项目中,而不发生在我的工作区中使用 Indigo 创建的旧项目中。

感谢其他几个 SO 问题(见下文*),我能够追踪问题的根源,因为项目的“属性”>“C/C++ 常规”>“路径和符号”>“包含”选项卡中缺少“内置值”:

/usr/include/c++/4.6
/usr/include/c++/4.6/x86_64-linux-gnu
/usr/include/c++/4.6/backward
/usr/lib/gcc/x86_64-linux-gnu/4.6/include
/usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include 

在没有此问题的旧 Indigo 项目中勾选“显示内置值”复选框时会出现,但在使用 Juno 创建的新项目中则不存在。果然,如果我将这七个目录手动添加到项目设置中的“包含”选项卡中,问题就会消失。但我不想为我创建的每个新项目手动执行此操作。是否有原因导致这不再是 Juno 中的默认设置,并且有办法恢复它吗?

*我咨询过但没有解决我的问题的其他类似问题:

  • 带有 CDT 的 Eclipse 3.7.0 Indigo 显示许多错误的编译错误 https://stackoverflow.com/questions/7962655/eclipse-3-7-0-indigo-with-cdt-shows-many-false-compilation-errors:我认为 Erzsébet Geréb 的答案将是我的解决方案 - 在 Juno 中,如果我创建一个新的 C++ 项目,并将“项目类型”作为“GNU Autotools”而不是“可执行文件”下的类别之一,则内置目录就在那里。 (在 Indigo 中,没有 GNU Autotools 类别。如果我在 Indigo 中将其创建为“可执行文件”下的空项目或 Hello World 项目,那么这些目录就在那里,但如果我在 Juno 中这样做,则它们就不存在——我有在“GNU Autotools”下选择一个选项。)但是,对于“GNU Autotools”项目,当我转到项目的“属性”>“C/C++ 构建”>“设置”时,“工具设置”选项卡不再存在,我无法添加 GCC C++ 编译器的包含路径和 GCC C++ 链接器的库,这是我需要做的,因为我的许多 C++ 项目都使用 OpenCV 库。
  • C 标准库头文件的 Eclipse CDT 出现“未解决的包含”错误 https://stackoverflow.com/questions/9337757/unresolved-inclusion-stdio-h: 告诉我如何手动添加包含路径,但不告诉我如何默认添加内置路径
  • 错误,符号“向量”无法解析 https://stackoverflow.com/questions/6980186/error-symbol-vector-could-not-be-resolved: 打扫~/.eclipse/并且重建索引没有帮助。
  • Eclipse CDT 内置包含目录 https://stackoverflow.com/questions/9864003/eclipse-cdt-builtin-include-directories:发现选项的设置与我的项目相同,可以正常工作。
  • eclipse CDT 8.01 - 默认路径(libstdc、libstdc++)在“includes”目录中完全消失 https://stackoverflow.com/questions/8291993/eclipse-cdt-8-01-default-paths-libstdc-libstdc-totally-disappeared-in-inc
  • 系统更新后 Eclipse CDT 索引器丢失 https://stackoverflow.com/questions/8144751/eclipse-cdt-indexer-lost-after-system-update:并不能解决所有新项目的问题。

Please

  • 打开 Eclipse 首选项对话框 (窗户 |优先).
  • Open C++ |构建 |设置.
  • 打开发现 tab.
  • 选择内置编译器设置条目。
  • 清除条目按钮。

之后 eclipse 应该再次向编译器请求默认值。

在 Arch Linux 上,我必须在每次 GCC 版本更改后执行此操作,因为在这种情况下,默认值的位置会随着版本编码在文件夹名称中而发生变化,而 eclipse 不会注意到这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 CDT 的 Eclipse Juno 不添加内置包含目录 的相关文章

  • 检查两个数是否是彼此的排列?

    给定两个数字 a b 使得 1 例如 123 是 312 的有效排列 我也不想对数字中的数字进行排序 如果您指的是数字的字符 例如 1927 和 9721 则 至少 有几种方法 如果允许排序 一种方法是简单地sprintf将它们放入两个缓冲
  • 无法使用已与其底层 RCW 分离的 COM 对象。在 oledb 中

    我收到此错误 但我不知道我做错了什么 下面的代码在backrgroundworker中 将异常详细信息复制到剪贴板 System Runtime InteropServices InvalidComObjectException 未处理 通
  • Qt-Qlist 检查包含自定义类

    有没有办法覆盖加载自定义类的 Qt QList 的比较机制 即在 java 中你只需要重写一个比较方法 我有一个带有我的自定义类模型的 QList QList
  • 将数组向左或向右旋转一定数量的位置,复杂度为 o(n)

    我想编写一个程序 根据用户的输入 正 gt 负 include
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 如何在列表框项目之间画一条线

    我希望能够用水平线分隔列表框中的每个项目 这只是我用于绘制项目的一些代码 private void symptomsList DrawItem object sender System Windows Forms DrawItemEvent
  • C++ 子字符串返回错误结果

    我有这个字符串 std string date 20121020 我正在做 std cout lt lt Date lt lt date lt lt n std cout lt lt Year lt lt date substr 0 4 l
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • WPF TabControl,用C#代码更改TabItem的背景颜色

    嗨 我认为这是一个初学者的问题 我搜索了所有相关问题 但所有这些都由 xaml 回答 但是 我需要的是后台代码 我有一个 TabControl 我需要设置其项目的背景颜色 我需要在选择 取消选择和悬停时为项目设置不同的颜色 非常感谢你的帮助
  • Web API - 访问 DbContext 类中的 HttpContext

    在我的 C Web API 应用程序中 我添加了CreatedDate and CreatedBy所有表中的列 现在 每当在任何表中添加新记录时 我想填充这些列 为此目的我已经覆盖SaveChanges and SaveChangesAsy
  • 在 ASP.NET Core 3.1 中使用包含“System.Web.HttpContext”的旧项目

    我们有一些用 Net Framework编写的遗留项目 应该由由ASP NET Core3 1编写的API项目使用 问题是这些遗留项目正在使用 System Web HttpContext 您知道它不再存在于 net core 中 现在我们
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • 将 unsigned char * (uint8_t *) 转换为 const char *

    我有一个带有 uint8 t 参数的函数 uint8 t ihex decode uint8 t in size t len uint8 t out uint8 t i hn ln for i 0 i lt len i 2 hn in i
  • 需要哪个版本的 Visual C++ 运行时库?

    microsoft 的最新 vcredist 2010 版 是否包含以前的版本 2008 SP1 和 2005 SP1 还是我需要安装全部 3 个版本 谢谢 你需要所有这些
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • x86 上未对齐的指针

    有人可以提供一个示例 将指针从一种类型转换为另一种类型由于未对齐而失败吗 在评论中这个答案 https stackoverflow com questions 544928 reading integer size bytes from a
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框

随机推荐