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

Error while compiling a library with mex - __int 64 does not name a type

本文关键字:int 未命名 类型 出错 mex 编译 使用      更新时间:2023-10-16

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

typedef __int64 LONG64; 
typedef __int64 long64;

错误说:

__int64 不会命名类型typedef __int64 LONG64;

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

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

您可以使用long long而不是__int64

typedef long long LONG64; 
typedef long long long64;

或使用cstdint

#include <cstdint>
typedef int64_t LONG64; 
typedef int64_t long64;