我已经在 win7 x64 pc 上下载并成功编译了metis 5.0.2并尝试编译metisex。我使用 Visual Studio 11 (2012) 编译了 metis,并在 matlab 中使用了相同的编译器。在对大量错误(主要是由于库中的路径问题)进行了大量实验之后,我已经到了不知道如何继续的地步,因为我对 c 和 c++ 的了解非常基础。所以,这是错误:
../GKlib/mat_libs/.\stddef.h(16) : error C2054: expected '(' to follow '_SIZE_TYPE__'
../GKlib/mat_libs/.\stddef.h(19) : error C2085: '_WCHAR_TYPE__' : not in formal parameter list
我发现了内联函数等,但由于错误在库中并且不完全知道我应该做什么,所以我在这里。因此,此处生成错误代码:
typedef __SIZE_TYPE__ size_t;
#ifndef __cplusplus
typedef __WCHAR_TYPE__ wchar_t;
#endif
关于我应该做什么而不搞砸的任何建议?(如果我注释掉 wchar 类型,我在 prtdiff_type 上也有同样的错误)提前谢谢
PS:如果需要,这里是整个 sttdef.h
/* Copyright 2012 The MathWorks, Inc. */
#ifndef _STDDEF_H
#define _STDDEF_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
# define NULL (0)
#else
# define NULL ((void *)0)
#endif
typedef __SIZE_TYPE__ size_t;
#ifndef __cplusplus
typedef __WCHAR_TYPE__ wchar_t;
#endif
typedef __PTRDIFF_TYPE__ ptrdiff_t;
#if (! defined(__cplusplus)) || (! defined(PST_GNU))
# define offsetof(type, field) ((size_t) &((type *)0)->field)
#else
# define offsetof(type, field) \
(__offsetof__(reinterpret_cast<size_t> \
(&reinterpret_cast<const volatile char &> \
(static_cast<type *>(0)->field))))
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* _STDDEF_H *
/