在使用Visual Studio 2015运行OpenCV时出现“__builtin_address of”:未找到标识符的错误。

3

我试图在Visual Studio 2015中运行简单的Canny边缘检测算法,但是失败了。

严重性 代码 描述 项目文件 行号 抑制状态 错误 C3861 '__builtin_addressof': 找不到标识符 Canny Edge C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xstddef 725

我认为这个错误不是由于链接问题导致的,因为上次我做这个项目时它是可行的。有人知道怎么解决吗?


1
我怀疑您在某种程度上成功地混合了较晚的(更新3?)标准库和较早的(例如,更新2)编译器。 - T.C.
那么可能的解决方案是什么? - KenSam
1
@T.C. 您是正确的。当我修复 Visual Studio 时,我发现计算机中的 Visual C++ 版本比安装程序中的版本更新。我卸载了它并重新修复,现在它可以正常工作了。 - KenSam
今天我遇到了这个问题。安装了带有Update 2的VS2015社区版。查看应用程序事件日志后发现安装程序在安装过程中将我升级到了Update 3。还没有花时间去找出原因,但我一直在设置一个具有多种编译器版本的开发环境,所以什么事都可能发生。;) - paddy
2个回答

4

我也曾遇到使用__builtin_addressof时出现的问题,我已经解决了。

  1. 打开 Visual Studio 2015 的 About 页面。
  2. 如果有Update 3,关闭 Visual Studio 2015。
  3. 在控制面板中打开程序和功能列表。
  4. 右键单击列表中的 Microsoft Visual Studio ... 2015,选择更改(Change)。
  5. 在向导中选择修复并继续(这是一个长时间运行的操作,我有固态硬盘和 i5 处理器,需要几个小时才能完成)。

在使用npm安装gulp-sass时遇到了问题,但是我解决了这个问题。对我很有帮助!谢谢! - Matt
一次修复对我来说不够。我不得不卸载Visual Studio。当我重新安装时,我注意到在“自定义”部分有一个默认为ON的安装Update 3的选项!它是列表中的第一个选项。我取消了勾选,安装后,所有问题都消失了! - paddy

0

我刚刚因为这个问题浪费了半天时间。Martin Šulc的答案对一些人有效,但对我无效。这是我必须要做的:

  • 卸载Visual Studio 2015
  • 运行安装程序,选择自定义
  • 取消勾选Visual Studio 2015 Update 3选项(在顶部):

    custom install

我的版本是VS 2015 Community with Update 2。至少在这个版本中,似乎默认安装了Update 3,尽管安装程序基于Update 2...

但你真的感到惊讶吗?;)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接