我有一个使用makefile构建的C项目,Eclipse经常警告“无效的项目路径:重复的路径条目”,但我无法弄清楚它到底希望我做什么。我想禁用此警告并继续我的生活。Eclipse CDT无效的项目路径
我的应用程序编译和运行良好,没有一个警告,除了这一个。作为一名认真的开发人员,我热衷于解决这个问题,所以我只有一个干净的构建可以带来温暖的模糊。
我有一个使用makefile构建的C项目,Eclipse经常警告“无效的项目路径:重复的路径条目”,但我无法弄清楚它到底希望我做什么。我想禁用此警告并继续我的生活。Eclipse CDT无效的项目路径
我的应用程序编译和运行良好,没有一个警告,除了这一个。作为一名认真的开发人员,我热衷于解决这个问题,所以我只有一个干净的构建可以带来温暖的模糊。
这为我工作与Eclipse 3.7.2和8.0.2 CDT:
它似乎是CDT 8中的一项新功能。多年来,我有过这种“无效项目路径:重复路径条目”的问题,这显然是新提供的解决方案。
在执行此操作之前,在C/C++常规|路径和符号|包含选项卡。我无法摆脱这些。它们仅在Show内置值被选中时出现,所以它们显然是以某种方式生成的。完成上述操作后,它们被替换为没有重复的集合。唯一的区别是在Assembly,GNU C和GNU C++下出现了相同的设置。以前他们是不同的集合。例如,Assembly的那些是空的。
到目前为止问题还没有返回。
这似乎是CDT中的一个错误。
如果你真的想摆脱它,你应该尝试摆脱项目路径中的空间;这是在错误的搜索结果中建议的。如果这不起作用,您可以尝试打开.cproject文件 - 这是所有CDT设置所在的位置,并检查包含重复条目的实际路径。
这个问题是一个真正的痛苦处理。它不能很好地工作。
这是适用于Eclipse的3.4.1/5.0.1 CDT
从我可以告诉,当你创建一个“C/C++项目”中的CDT,它会尝试自动检测您的include路径。好主意,但实施是可怕的。
如果您删除或重命名一个目录,旧的目录是剩余的。如果您重命名该项目,旧的目录是剩余的。当Eclipse找不到那个旧目录时,它会给你提示。
我的解决方案是完全关闭自动发现并手动管理我的包含路径。你需要包含这些包含路径的列表,例如ctrl-click(自动导航到定义/ functions/files/etc)以及遮蔽#define块。它从这个列表中建立索引。
以下是您需要做的事情: 在项目浏览器中右键单击您的项目并转至属性。 转到C/C++编译 - >查找选项 取消选中“自动路径和符号的发现”
现在去C/C++常规 - >路径和符号 你会看到下包括片组件,C和C++语言具有相应的自动发现包含目录。 转到所有3种语言并删除所有内容。 打开你的makefile并将你的包含转录成相应的语言。 项目重命名仍然会导致索引器中断。 $ {project_name}和其他全局变量似乎不起作用。如果遇到问题,请使用“工作区”按钮浏览到您想要包含的目录,因为这似乎始终有效,但手动输入不会。 点击应用,然后确定。 右键点击你的项目,进入index-> rebuild 重新启动eclipse。
这应该永远解决问题。任何时候,由于#define或#ifdef块的原因,不正确的内容会被遮盖,这是因为该文件列表已过时。如果您在#include行中收到“未解决的内容”,您也会知道该列表已过时。
Doug Schaefer,希望谷歌可以索引这个,找到你的名字,然后你解决这个糟糕的实现。 =)
就像更新一样,您可以使用$ {ProjName}变量代替实际的项目名称,并且它将通过项目重命名持续。 – 2009-08-03 18:07:28
我发现这个错误报告来帮助我的问题。我移动了一些包含路径,无法摆脱旧路径。
我也看到过这个问题,老路径 永远不会被删除。要手动修复 文件,你需要移动/删除 $ {}项目名称下.SC $ {}工作区/。元/ .plugins/org.eclipse.cdt.make.core
您应该检查您是否已经手动定义了日食可以从您的makefile中找出的符号。我有一个有手动编写的makefile的项目,通过删除手动添加到C/C++常规 - >路径和符号 - >符号中的符号解决了问题。
没有需要去除.metadata
家伙,只是删除位于C中的所有路径/ C++通用 - >路径和符号 - >符号和替换它们使用点击BUTTOM但没有手动给路径
在这里,我刚发现另一种方式来重新检测自动的路径:
希望这会有所帮助。
参考: http://qing.blog.sina.com.cn/1802712302/6b7334ee33004def.html
这里是为Eclipse 4.4迟到的回答(这不具有发现选项)。
删除项目的infoPath
文件。Eclipse或ADT插件(不知道哪个)会重新创建它,并使用正确的路径填充它。
您可以在<Eclipse workspace>/.metadata/.plugins/com.android.ide.eclipse.ndk/<project>.pathInfo
找到该项目的infoPath
文件。 Eclipse或ADT插件从两个地方确定新路径:(1)在Eclipse偏好设置下设置的NDK目录;(2)在Application.mk
中设置路径。所有这些路径都成为Eclipse下的“内置”路径。
另见How to change built-in C/C++ paths pointing to a deleted android-ndk-r9 installation?
使用Eclipse露娜和CDT 8.5
我通过
如果您使用的是Eclipse 3.7/CDT 8,请查看Kenneth Evans的答案。我还没有测试过,但它看起来不错,如果它适合你,请留下评论。 – 2012-06-05 19:16:58
经过测试,似乎正在工作。它应该是被接受的答案,恕我直言。 – ysap 2012-08-28 20:08:50