为了账号安全,请及时绑定邮箱和手机立即绑定

Eclipse编译成功,但仍然出现语义错误

Eclipse编译成功,但仍然出现语义错误

海绵宝宝撒 2019-10-29 14:47:45
注意:这显然是StackOverflow上经常出现的问题,但是-就我所看到的-人们永远找不到方法或他们的解决方案对我不起作用问题:我正在使用Eclipse Juno ADT。一切正常,直到我尝试更新NDK。我用新版本(即)替换了ndk文件夹(ndk-r8d即ndk-r8e),在我的Paths and Symbols配置中,我将includes从g ++ 4.6更改为4.7。似乎打破了我的索引:我可以编译我的代码,但是Eclipse给出了语义错误,就像[ 1 ]和[ 2 ]中一样。这些错误主要是由来自OpenCV4Android使用的符号,如distance,pt,queryIdx和trainIdx。当我尝试备份到旧配置时,索引仍然损坏!我找不到改变它的方法。我尝试过的清理项目重建,刷新以及“索引”子菜单中的所有其他选项(在项目上“右键单击”时)在首选项中禁用/启用索引器验证trainIdx该Paths and Symbols部分中是否包含仅出现在我的OpenCV4Android中的符号。在该Paths and Symbols部分中更改我的包含内容的顺序。我基本上试图将OpenCV include放在开头和结尾。一些观察什么不起作用由于以下原因,我认为它是CDT索引:在命令行中,我可以使用ndk-build clean和构建项目ndk-build。当我启动Eclipse时,直到打开C ++文件(从该jni文件夹开始)之前,我没有任何错误。我总是可以构建项目,但是只要打开了C ++文件,由于很多原因,我将无法再运行该应用程序 Field '<name>' could not be resolved.如果我不打开C ++文件,则Eclipse不会报告任何错误,并且可以成功构建和部署Android应用程序。有趣的事实下面的代码报告有关错误line,queryIdx,pt:cv::line(mRgb, keypointsA[matches[i].queryIdx].pt, keypointsB[matches[i].trainIdx].pt, cv::Scalar(255, 0, 0, 255), 1, 8, 0);如果我将其编写如下,它将起作用:cv::DMatch tmpMatch = matches[i];cv::KeyPoint queryKp = keypointsA[tmpMatch.queryIdx];cv::KeyPoint trainKp = keypointsB[tmpMatch.trainIdx];cv::line(mRgb, queryKp.pt, trainKp.pt, cv::Scalar(255, 0, 0, 255), 1, 8, 0);这并不是说所有的OpenCV的功能没有得到解决:只pt,queryIdx并trainIdx有。任何评论将不胜感激。
查看完整描述

3 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

在Eclipse环境中选择的项目首选项中,转到C / C ++常规->代码分析->启动。确保两个复选框均未选中。关闭并重新打开该项目,或者重新启动eclipse并重新生成该项目。


查看完整回答
反对 回复 2019-10-29
  • 3 回答
  • 0 关注
  • 760 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信