linux eclipse semantic error,Eclipse编译成功,但仍然出现语义错误

注意:这显然是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 '' 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有。

任何评论将不胜感激。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]中提到了一个语义错误(semantic error),具体是在解析探测点时出现了问题。错误信息显示在/usr/share/systemtap/tapset/linux/vfs.stp文件的第836行,标识符'kernel'无法解析。此外,在/usr/share/doc/systemtap-client-2.6/examples/io/inodewatch.stp文件的第3行,标识符'vfs'也无法解析。这导致了第二次分析失败。可以通过重新运行命令并添加-v选项来查看更多类似的错误信息。 引用\[2\]提到了在Rust中可以使用no_mangle选项来强制让符号和函数名一致。这个选项可以确保编译器生成的符号与函数名匹配。 引用\[3\]给出了一个C语言的例子,其中定义了一个名为fun的函数,并在main函数中调用了它。 综上所述,语义错误是指在编译或解析过程中出现错误,可能是由于标识符无法解析或符号与函数名不匹配等原因导致的。在不同的编程语言中,可以采取不同的方法来解决这些问题。 #### 引用[.reference_title] - *1* [linux systemtap报错解决](https://blog.csdn.net/bfhai/article/details/84280336)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [systemtap semantic error: no match (similar functions:](https://blog.csdn.net/qq_41961459/article/details/111771087)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值