0

我在编译代码时遇到问题 - 特别是METIS - Serial Graph Partitioning and Fill-reducing Matrix Ordering

我已经成功地通过两种方式从源文件中制作了 Visual Studio 2013 项目:使用 CMake GUI(版本 3.4.3)和使用命令行。

但是,在这两种情况下,当我尝试在 Visual Studio 中构建创建的项目时,都会出现错误:Error C2059: syntax error : '('online

_CRTIMP double __cdecl rint(_In_ double _X);

where_CRTIMP是这样定义的:

#define _CRTIMP __declspec(dllimport)

这个问题是在 CMake 创建 Visual Studio Project 的过程中引起的,还是 METIS 的源文件中的问题?

4

2 回答 2

3

转到:metis\GKlib\gk_arch.h 和 metisbin.h 和 metislib.h。删除或重命名 #define rint(x) ((idx_t)((x)+0.5)) 它会导致与 math.h 中的 rint 函数发生冲突。

于 2016-03-15T23:44:12.597 回答
1

只需注释掉#define rint(x) ((idx_t)((x)+0.5))metis\GKlib\gk_arch.h 中的行就足够了。

于 2018-03-22T02:59:44.337 回答