我正在用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>
才能访问它。
汉斯的评论是当场的。如果您有HRESULT
和UINT
,那么大概是Windows.h
。在这种情况下,缺少宏可能是因为 undefined 架构条件。