我正在用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;
}

谢谢

最佳答案

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

汉斯的评论是当场的。如果您有HRESULTUINT,那么大概是Windows.h。在这种情况下,缺少宏可能是因为 undefined 架构条件。

09-26 03:17