Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 预期的声明说明符或'';在'之前*';代币_C++_C_Mingw W64 - Fatal编程技术网

C++ 预期的声明说明符或'';在'之前*';代币

C++ 预期的声明说明符或'';在'之前*';代币,c++,c,mingw-w64,C++,C,Mingw W64,我正在尝试在MinGW中构建(这在VS2005中构建得很好),但在以下位置遇到此错误: #ifndef int64 #define int64 __int64 /**< Win32 version of 64-bit integers */ #endif // also in class.h #ifndef FADDR #define FADDR typedef int64 (*FUNCTIONADDR)(void*,...); /** the entry point of a modu

我正在尝试在MinGW中构建(这在VS2005中构建得很好),但在以下位置遇到此错误:

#ifndef int64
#define int64 __int64 /**< Win32 version of 64-bit integers */
#endif

// also in class.h
#ifndef FADDR
#define FADDR
typedef int64 (*FUNCTIONADDR)(void*,...); /** the entry point of a module function */
#endif
关于如何处理这个问题有什么建议吗? 谢谢。

\uuu int64
来自MSVC,在GCC中不存在。您可以使用
stdint.h
中的
int64\t
。简单检查:

#ifdef _MSC_VER
typedef __int64 int64;
#else
#include <stdint.h>
typedef int64_t int64;
#endif
\ifdef\u MSC\u VER
typedef__int64int64;
#否则
#包括
typedef int64_t int64;
#恩迪夫

#ifndef int64#定义int64(uu int64/**typedef而不是
\define
。我相信MSVC的最新版本支持
。除非您需要支持旧版本的MSVC,否则最好使用它,因为它是由语言标准定义的。因此,我将typedef int64(*FUNC…)调用更改为typedef_uint64(*FUNC…),它成功了。这种做法有什么问题吗?
#ifdef _MSC_VER
typedef __int64 int64;
#else
#include <stdint.h>
typedef int64_t int64;
#endif