错误 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:“_beginthreadex”:未找到标识符
C++ Visual Studio 2012 错误 C3861:'_T':找不到标识符?