使用 mex 编译库时出错 - __int 64 未命名类型
Error while compiling a library with mex - __int 64 does not name a type
我正在尝试在 Matlab 中使用 mex 编译一个库。我能够部分编译这个东西,但是在最后一个文件中,mex 给出了关于两行的错误:
typedef __int64 LONG64;
typedef __int64 long64;
错误说:
__int64
does not name a type typedef __int64 LONG64;
这只是 C++ 代码的问题吗?我一点也不熟悉这种语言,也不知道错误从何而来。可以修复吗?
__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;
我正在尝试在 Matlab 中使用 mex 编译一个库。我能够部分编译这个东西,但是在最后一个文件中,mex 给出了关于两行的错误:
typedef __int64 LONG64;
typedef __int64 long64;
错误说:
__int64
does not name a typetypedef __int64 LONG64;
这只是 C++ 代码的问题吗?我一点也不熟悉这种语言,也不知道错误从何而来。可以修复吗?
__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;