如何获得VC++;GCC G+上的编译器样式帮助+;编译/链接错误(在linux上) 我用VC++作为专业开发人员10多年了,这对我很好,现在我想拓宽我的视野,学习Linux上的C++开发。 在Windows上,一切都很简单,VC++可以完成(编辑、项目管理、帮助、调试),但在linux上,情况不同,您可以使用不同的工具组装开发环境。 我仍然试图把事情联系在一起,还有一件事我还没有弄明白是如何在编译/连接Linux上的C++应用程序时破解GCC(G++)错误(虽然我意识到GCC是多平台的,但我只会参考我的Linux经验)。 在VC++中,事情非常清楚:若在编译过程中VC++的编译器在程序中遇到错误,它将在“输出”窗口中创建带有“编译器错误ID”的新条目。例如:

如何获得VC++;GCC G+上的编译器样式帮助+;编译/链接错误(在linux上) 我用VC++作为专业开发人员10多年了,这对我很好,现在我想拓宽我的视野,学习Linux上的C++开发。 在Windows上,一切都很简单,VC++可以完成(编辑、项目管理、帮助、调试),但在linux上,情况不同,您可以使用不同的工具组装开发环境。 我仍然试图把事情联系在一起,还有一件事我还没有弄明白是如何在编译/连接Linux上的C++应用程序时破解GCC(G++)错误(虽然我意识到GCC是多平台的,但我只会参考我的Linux经验)。 在VC++中,事情非常清楚:若在编译过程中VC++的编译器在程序中遇到错误,它将在“输出”窗口中创建带有“编译器错误ID”的新条目。例如:,gcc,Gcc,c:\projectA\fileB.cpp(38):错误C2228:“.cout”的左边必须有class/struct/union 从这里,您可以单击“输出”窗口中有问题的行,按F1,然后“Microsoft文档浏览器”应用程序将启动(如果尚未启动),这将加载MSDN帮助文件,该文件描述连接到编译器错误ID的编译错误(例中为C2228),通常通过示例,您可以检查代码,找出代码的错误。如果您没有安装MDB,您可以始终在web上搜索C2228并获得相同的帮助页面,也可以选择查找其他人的网页,描述他们

c:\projectA\fileB.cpp(38):错误C2228:“.cout”的左边必须有class/struct/union

从这里,您可以单击“输出”窗口中有问题的行,按F1,然后“Microsoft文档浏览器”应用程序将启动(如果尚未启动),这将加载MSDN帮助文件,该文件描述连接到编译器错误ID的编译错误(例中为C2228),通常通过示例,您可以检查代码,找出代码的错误。如果您没有安装MDB,您可以始终在web上搜索C2228并获得相同的帮助页面,也可以选择查找其他人的网页,描述他们对该错误的体验。 与链接相同的是,您将获得“链接器错误ID”(例如LNK1123),您可以使用它在本地或web上查找帮助

尽管我可能会尝试,但在GCC的G++中找不到这种功能。我所能看到的是一群经验较少的GCC开发人员要求另一群经验较多的GCC开发人员基于描述性编译器/链接器错误分析他们的代码,而没有相关的错误ID。
是否有工具(集合)可以提供VC++编译器风格的帮助,帮助您了解针对linux的GCC G++编译/链接错误?

您可以尝试使用qtcreator。至少它可以以与VC++相比更全面的方式显示错误,也就是说,它可以定位错误位置并突出显示错误行和变量。

如果可以,另一种方法可能是使用。它提供了比g++更好的错误消息。如今,它编译了大部分代码(但仍在进行中)。强烈推荐


或者(正如另一张海报所提到的),您可以使用诸如Eclipse之类的IDE来捕获错误消息,尽管我认为除了双击行号之外,这不会增加任何内容。

谢谢您的建议,虽然我想探索QtCreator,主要是因为它承诺提供GDB编译器的可视化支持,并与GDB的“Archer Python”版本集成,但它甚至不想在我的Ubuntu 10.04上启动。我需要工业实力的工具(我们都需要),这对我来说是足够的,我不想走这条路。谢谢你的建议,我不想再打开一罐虫子,在*尼克斯上有足够多的死巷。到目前为止,我已经尝试过Eclipse、NetBeans、MonoDevelop、QtCreator(我已经尝试过了,请参见上文:),它们都太慢了,对于GCC仍然没有任何帮助,也没有任何关于如何保持一致性的提示。我现在试着使用Code::Blocks,但调试是荒谬的(我试着用两个线程调试小应用程序,但Code::Blocks不行,看来我必须使用emacs(或vim)还有额外的工具,但我无法理解的是,经过整整一周的网络研究后,我没有找到一篇文章能够提供与VC++最接近的最佳性能和用户体验的工具选择。显然,MS并不像每个人试图描绘的那样糟糕,在VC方面肯定没有++