虽然理论上可以将外部静态分析器集成到Eclipse中,如所演示的here(即对于Cppcheck),我想知道是否存在不需要插件开发的更新解决方案?例如,现有插件、CODAN中的可用选项或上述ClangStaticAnalyzer教程的简化版本。 最佳答案 CodeCheckerEclipsePlugin是一个Eclipse插件,可以显示C/C++项目的ClangStaticAnalyzer和ClangTidy缺陷。安装后,您可以将它作为“CodeCheckernature”添加到您的CDT项目中。唯一的软件要求是您的机器上必须安装C
有没有一种方法可以自动为eclipsecdt中的函数生成函数头文件?我看到相关帖子要求在函数头之前使用Alt+Shift+J或键入/**然后按Enter。但是我想知道是否有可能获得预定义的函数头。我试图在中定义我的格式C/C++>Codestyle>Codetemplates>Comments>Methods但找不到在代码中使用它的方法。 最佳答案 恐怕我有一个部分的答案:如果您转到window->preferences->C/C++->Editor并在Documentationtoolcomments下选择Doxygen,键入/*
运行或调试任何东西都会给我一个非常令人沮丧的“启动失败。找不到二进制文件”错误。我正在使用安装了CDT插件的Eclipse(具体来说,我安装了MinGW包)。我已经尝试设置用户和系统PATH变量以包含我的(MinGW目录)/bin我还尝试在运行之前构建该程序。我还确保启用了项目设置下的PEWindowsParser。我转到“项目属性”>“运行/调试设置”>“新建”>“C/C++应用程序”>“环境”>“选择”>,然后选择“路径”我还尝试将Main选项卡中的C/C++Application设置为通过构建程序生成的可执行文件,但是当我构建我的程序时没有生成这样的文件。不过,我严重怀疑这是导致
我正在使用谷歌测试在eclipseg++中进行单元测试。当我尝试在我设计的类中对自赋值检查进行单元测试时出现错误。像往常一样,重载非常标准,看起来像这样:CLASSoperator=(constCLASS&rhs);当我尝试在测试中使用它时:CLASSA;A=A;//compileerrorhere,sayingselfassignmenttoitself.havenocluewhy,though.不知有没有具体的自测方法。谢谢。仅供引用,下面是错误的快照 最佳答案 自赋值语句x=x;当然不是C++中的错误而且这里没有任何编译器错误
有没有办法在EclipseCDTLuna中禁用此功能?https://wiki.eclipse.org/CDT/User/NewIn85#Header_File_Rename我不希望我的#include语句被替换为相对路径,因为这有悖于我公司的代码风格。例子:在移动头文件之前:#include之后:#include"../dir1/File.h"是否有一些设置会禁用此重构? 最佳答案 header/包含管理通过首选项中的一组选项进行控制:C/C++->代码样式->组织包含: 关于c++-
我遇到了很多来自eclipse的解析器错误,但我在编译代码时没有遇到这些错误。我怎么能忽略它们呢? 最佳答案 在CDT的Indigo版本中:ProjectSettings->C/C++General->CodeAnalysis您可以启用/禁用特定的错误和警告,以及为这些警告自定义包含和排除模式。如果您收到大量“Type'TYPE'couldnotberesolved”错误,也许您需要确保Eclipse可以找到您的所有代码和库。你可能想检查:C/C++General->PathsandSymbols
此问题涉及在Eclipse4.2.2(Juno)中使用CDT8.1.2管理的C++项目。下面的代码片段可以编译,但在Eclipse中会显示为有错误。我有一个名为foo.h的文件,内容如下:inta=42;此文件包含在另一个文件foo.cpp中:#includeintmain(){#include"foo.h"printf("%d",a);return0;}如何修复“符号‘a’无法解析”?据我了解,main()函数内的#include语句应该触发单纯的复制粘贴操作在预处理器中。CDT似乎已正确索引该文件,因为我可以按住CTRL键并单击文件名“foo.h”,然后在IDE中打开该文件。有趣的
我知道CDT7将包含一个正则表达式错误解析器,但我现在使用的是CDT6。我有一个外部CDT构建器,它只调用一个shell脚本来触发我的构建(基于Jam)。该构建使用GCC,错误和警告被流式传输到控制台View,但当然没有错误解析器正在查看它,所以我的问题View中没有任何内容。有没有办法将CDT配置为在我的控制台输出上使用它的GCC扫描器来填充“问题”View?GCC解析器已启用,它只是不查看我的输出。 最佳答案 我不确定这个问题是否仍然存在,但以下解决方案应该可以填充“问题”View:1)在CDT中创建一个空的C++makefil
我使用EclipseJuno和CDT来开发我的C++项目和自定义makefile。我也在使用C++11功能,我必须按照此处关于SO的建议使用Eclipse的解析器。问题是Eclipse无法解析在STL容器元素上访问的方法或字段。例如:mainapp.htypedefstruct_PlayerCalibrationData{[...]std::stringgetSamplesStr(){[...]}}PlayerCalibrationData;std::vectorm_calibrationData;mainapp.cppm_calibrationData[0].getSamplesSt
我有一个项目使用另一个项目的共享库。在项目设置中,我为GCC和G++编译器(-L和-l选项)设置了正确的包含路径和库。一切都编译得很好,这里没有问题。但是源代码没有正确分析。我包含的头文件(位于另一个项目中)被标记为“Unresolvedinclusion并且我在任何地方使用它的东西,源也被突出显示。#include"myHeader.h"有什么想法吗?谢谢! 最佳答案 您在这里(可能)缺少的是告诉索引器在哪里寻找这些header。我通常管理自己的Makefile,所以我不知道如何让它同时适用于eclipse管理的makefile和