我在编译代码时遇到问题-特别是METIS - Serial Graph Partitioning and Fill-reducing Matrix Ordering。
我已经成功地从源文件中创建了Visual Studio 2013项目,方法有两种:使用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项目的过程中引起的,还是METIS的源文件中的问题?
最佳答案
转到:metis\GKlib\gk_arch.h和metisbin.h和metislib.h。删除或重命名#define rint(x)(idx_t)(x+0.5))它导致与math.h中的rint函数冲突。