2017-06-13 55 views
0

我想在Matlab中使用mex編譯庫。我能夠部分地編譯的事情,但在最後一個文件MEX給出關於兩行錯誤:使用mex編譯庫時出錯 - __int 64沒有指定類型

typedef __int64 LONG64; 
typedef __int64 long64; 

錯誤說:

__int64沒有指定類型typedef __int64 LONG64;

這只是C++代碼的問題嗎?我完全不熟悉這種語言,我不知道錯誤來自哪裏。它可以修復嗎?

回答

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; 
+0

感謝您的快速回復。我試過這個,並且錯誤變成了很長的一個......顯然,庫中有一些函數不喜歡新的類型定義。 –

+0

或者切換到'cstdint'的'int64_t'。 – user4581301

+0

@ user4581301謝謝!補充到正文 – Rama