错误 C3861:“execute_assert”:找不到标识符

Posted

技术标签:

【中文标题】错误 C3861:“execute_assert”:找不到标识符【英文标题】:Error C3861: 'execute_assert': identifier not found 【发布时间】:2016-09-08 11:38:57 【问题描述】:

好的,这应该很容易。 我正在编写一个 dll,其源代码太大而无法在此处发布。 但它只有三个来自相同重复代码的错误...

// Test parameter s
execute_assert(s >= MAX_ACL_DEPTH, "MAX_ACL_DEPTH too small");

现在我知道 EXECUTE_ASSERT 是一个宏,所以我想我只需要包含一个标题。

我只需要知道标题。

我正在使用 Visual Studio 2012 Ultimate 构建。

谢谢。

【问题讨论】:

您是否尝试过在 e.g. MSDN?你知道 C 和 C++ 都区分大小写吗? 您是否注意到唯一记录在案的是EXECUTE_ASSERT,它是在DirectShow 中定义的(不是 Windows SDK 的一部分),而您需要execute_assert?这些都是不相关的事情。您的应用程序可能在内部某处定义了execute_assert。在您的项目中进行全局搜索。 我认为其中一个问题是代码是在 Xubuntu 中生成的,我想构建一个 .lib 文件,所以我将所有内容都导入了 Windows,包括标题。 【参考方案1】:

感谢您的洞察力。 我包括...

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses

添加后在项目属性中

#include <Streams.h>
#include <wxdebug.h>

改变了

execute_assert

EXECUTE_ASSERT

结果...

1>  Generating Code...
1>c:\users\...\Analytical.lib
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

【讨论】:

以上是关于错误 C3861:“execute_assert”:找不到标识符的主要内容,如果未能解决你的问题,请参考以下文章

错误 C3861:“strtoll”:未找到标识符

错误 C3861:“系统”:未找到标识符

错误 C3861:“_beginthreadex”:未找到标识符

C++ Visual Studio 2012 错误 C3861:'_T':找不到标识符?

VC ++ WINAPI窗体:找不到标识符(C3861错误)

C++错误 ERROR C3861