我正在用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;
}
由于
答案 0 :(得分:1)
UInt32x32To64()
是Windows头文件中定义的宏。您需要#include <Windows.h>
才能访问它。
汉斯的评论很有见。如果您有HRESULT
和UINT
,则可能是Windows.h
。在这种情况下,缺少宏可能是因为没有定义条件架构。