我在编写代码时出现问题 - 特别是METIS - Serial Graph Partitioning and Fill-reducing Matrix Ordering。
我已经成功地通过两种方式从源文件中创建了Visual Studio 2013 Project:使用CMake GUI(版本3.4.3)和使用命令行。
但是,在我尝试在Visual Studio中构建创建的项目的两种情况下,我都收到错误:Error C2059: syntax error : '('
在线
_CRTIMP double __cdecl rint(_In_ double _X);
其中_CRTIMP
以这种方式定义:
#define _CRTIMP __declspec(dllimport)
这个问题是在CMake创建Visual Studio Project的过程中引起的,还是在METIS的源文件中出现问题?
答案 0 :(得分:3)
转到:metis \ GKlib \ gk_arch.h和metisbin.h以及metislib.h。删除或重命名#define rint(x)((idx_t)((x)+0.5))它导致与math.h中的rint函数冲突。
答案 1 :(得分:1)
只注释掉metis \ GKlib \ gk_arch.h中的行#define rint(x) ((idx_t)((x)+0.5))
就够了。