使用mex编译库时出错 - __int 64没有命名类型

时间:2017-06-13 20:45:32

标签: c++ matlab mex

我正在尝试在Matlab中使用mex编译库。我能够部分编译这个东西,但是在最后一个文件中mex给出了关于这两行的错误:

typedef __int64 LONG64; 
typedef __int64 long64;

错误说:

  

__int64未指定类型typedef __int64 LONG64;

这只是C ++代码的问题吗?我一点都不熟悉这种语言,我不知道错误来自哪里。可以修复吗?

1 个答案:

答案 0 :(得分:2)

__int64是一个仅适用于Microsoft Visual C ++ 32位和64位编译器的同义词。

您可以使用long long代替__int64

typedef long long LONG64; 
typedef long long long64;

或使用cstdint

#include <cstdint>

typedef int64_t LONG64; 
typedef int64_t long64;