草庐IT

c++ - 用于外部基于 gcc 的构建器的 Eclipse CDT 错误解析器

coder 2024-02-05 原文

我知道 CDT 7 将包含一个正则表达式错误解析器,但我现在使用的是 CDT 6。

我有一个外部 CDT 构建器,它只调用一个 shell 脚本来触发我的构建(基于 Jam)。该构建使用 GCC,错误和警告被流式传输到控制台 View ,但当然没有错误解析器正在查看它,所以我的问题 View 中没有任何内容。

有没有办法将 CDT 配置为在我的控制台输出上使用它的 GCC 扫描器来填充“问题” View ? GCC 解析器已启用,它只是不查看我的输出。

最佳答案

我不确定这个问题是否仍然存在,但以下解决方案应该可以填充“问题” View :

1) 在 CDT 中创建一个空的 C++ makefile(我们称之为 solution1)

2) 从项目的上下文菜单(在 Project Explorer 中)选择“导入...”

3) 在“导入”向导中选择“常规/文件系统”,单击“下一步”并选择您的源目录。不幸的是,CDT 6 不允许像 CDT 7 那样创建对文件的引用。相反,它会将所有源复制到工作区中项目的位置。所以您导入的最顶层目录应该包含 Jamroot。不要忘记在导入对话框中选中所有必要文件和文件夹的所有框。

作为比 Import 更优雅的替代方法,您可以在 eclipse 项目中创建一个文件夹并将其链接到包含必要 Jamfile 的源文件夹- 感谢 Vanuan 的提示。

添加文件后,打开项目属性并进行以下更改:

4) 确保在构建器页面上选择了 CDT 构建器和扫描器配置构建器。对于 CDT Builder Properties,我建议选择除“自动构建期间”之外的所有选项

5) 在“C/C++ Build”页面取消选中“Use Default Build Command”并输入类似“${HOME}/boost.build/bin/bjam”的内容。在“Build Location”中,您应该放置包含您要从项目层次结构中构建的必要 jamfile 的文件夹。例如,“${workspace_loc:/solution1/Server}

6) 切换到“行为”选项卡并为“构建(增量)”和“清理”选项添加必要的 bjam 参数。取消选中“基于资源保存构建(自动构建)”

7) 在“C/C++ Build/Settings/Error Parsers”中选择所有必要的解析器。其他一切都应保持默认状态。

在那之后你就可以开始了。

如果您的源代码树中有多个项目并且您使用了“导入”方法,那么为每个项目创建一个单独的构建配置并为它们指定相应的“构建位置”值是有意义的。我使用 CDT 7,因为它允许导入对源文件夹的引用而不是创建物理拷贝,所以我只是在工作区中为每个目标 Jamfile 创建一个单独的 eclipse 项目。在 CDT 6 中,如果您添加链接文件夹而不是导入源代码,它也可以工作。

关于c++ - 用于外部基于 gcc 的构建器的 Eclipse CDT 错误解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2465845/

有关c++ - 用于外部基于 gcc 的构建器的 Eclipse CDT 错误解析器的更多相关文章

  1. Ruby 解析字符串 - 2

    我有一个字符串input="maybe(thisis|thatwas)some((nice|ugly)(day|night)|(strange(weather|time)))"Ruby中解析该字符串的最佳方法是什么?我的意思是脚本应该能够像这样构建句子:maybethisissomeuglynightmaybethatwassomenicenightmaybethiswassomestrangetime等等,你明白了......我应该一个字符一个字符地读取字符串并构建一个带有堆栈的状态机来存储括号值以供以后计算,还是有更好的方法?也许为此目的准备了一个开箱即用的库?

  2. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  3. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  4. ruby - 用逗号、双引号和编码解析 csv - 2

    我正在使用ruby​​1.9解析以下带有MacRoman字符的csv文件#encoding:ISO-8859-1#csv_parse.csvName,main-dialogue"Marceu","Giveittohimóhe,hiswife."我做了以下解析。require'csv'input_string=File.read("../csv_parse.rb").force_encoding("ISO-8859-1").encode("UTF-8")#=>"Name,main-dialogue\r\n\"Marceu\",\"Giveittohim\x97he,hiswife.\"\

  5. ruby-on-rails - 如何优雅地重启 thin + nginx? - 2

    我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server

  6. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  7. ruby-on-rails - 迷你测试错误 : "NameError: uninitialized constant" - 2

    我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test

  8. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  9. ruby-on-rails - 如何在 Rails View 上显示错误消息? - 2

    我是rails的新手,想在form字段上应用验证。myviewsnew.html.erb.....模拟.rbclassSimulation{:in=>1..25,:message=>'Therowmustbebetween1and25'}end模拟Controller.rbclassSimulationsController我想检查模型类中row字段的整数范围,如果不在范围内则返回错误信息。我可以检查上面代码的范围,但无法返回错误消息提前致谢 最佳答案 关键是您使用的是模型表单,一种显示ActiveRecord模型实例属性的表单。c

  10. 使用 ACL 调用 upload_file 时出现 Ruby S3 "Access Denied"错误 - 2

    我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file

随机推荐