gpt4 book ai didi

c++ - 将 Visual C++ 项目迁移到 Visual Studio 2013 - DirectShow 基类错误 C2169

转载 作者:行者123 更新时间:2023-11-28 05:53:25 26 4
gpt4 key购买 nike

我已将一个 Visual C++ 项目迁移到 Visual Studio 2013。当我尝试构建该项目时,编译器返回以下错误:

Error 2 error C2169: '_InterlockedIncrement' : intrinsic function, cannot be defined

错误在 combase.h(来自 DirectShow 的 header )中,代码是:

static inline LONG WINAPI InterlockedIncrement(volatile LONG * plong)
{ return InterlockedIncrement( const_cast<LONG*>( plong ) ); }

InterlockedIncrement 在 winnt.h 中定义为:

#define InterlockedIncrement _InterlockedIncrement

你知道这个错误的解决方案吗?

最佳答案

您的 #define 将所有出现的 InterlockedIncrement 替换为 _InterlockedIncrement,因此 static inline LONG WINAPI InterlockedIncrement(volatile LONG * plong ) 变为 static inline LONG WINAPI _InterlockedIncrement(volatile LONG * plong)

这意味着您实际上是在尝试定义 _InterlockedIncrement 函数,这是被禁止的,因为它是一个内部函数。

我认为你需要删除

#define InterlockedIncrement _InterlockedIncrement

并在需要时使用适当的参数转换使 InterlockedIncrement 调用 _InterlockedIncrement

关于c++ - 将 Visual C++ 项目迁移到 Visual Studio 2013 - DirectShow 基类错误 C2169,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34720621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com