未找到UInt32x32To64标识符

UInt32x32To64 identifier not found

本文关键字:标识符 UInt32x32To64      更新时间:2023-10-16

我正在用c++编码,我正在使用

导入c#类库
#import "C:abcabc.tlb" 
using namespace XYZ;

当我这样做时,我在文件comutil.h中得到一个错误错误是未找到UInt32x32To64标识符。我不知道我得到这个当我试图导入一个tlb文件。在这件事上有人能帮我吗?这就是comutil.h

的部分
static HRESULT UIntMult(UINT uMultiplicand, UINT uMultiplier, UINT *puResult)
{
    ULONGLONG ull64Result = UInt32x32To64(uMultiplicand, uMultiplier);
    if(ull64Result <= INTSAFE_UINT_MAX)
    {
        *puResult = (UINT)ull64Result;
        return S_OK;
    }
    return INTSAFE_E_ARITHMETIC_OVERFLOW;
}

谢谢

UInt32x32To64()是在Windows头文件中定义的宏。您需要#include <Windows.h>才能访问它。


汉斯的评论完全正确。如果你有HRESULTUINT,那么你可能有Windows.h。在这种情况下,缺少宏可能是因为没有定义体系结构条件。