找不到UInt32x32To64标识符

时间:2011-08-30 09:58:51

标签: c++ visual-studio com

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

导入一个C#类库
#import "C:\abc\abc.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;
}

由于

1 个答案:

答案 0 :(得分:1)

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


汉斯的评论很有见。如果您有HRESULTUINT,则可能是Windows.h。在这种情况下,缺少宏可能是因为没有定义条件架构。