Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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
使用Cygwin(64位)安装cmake时出现问题_Cygwin_Cmake_Installation - Fatal编程技术网

使用Cygwin(64位)安装cmake时出现问题

使用Cygwin(64位)安装cmake时出现问题,cygwin,cmake,installation,Cygwin,Cmake,Installation,我打字的时候 $ ./bootstrap 我有一些错误: SystemTools.o:SystemTools.cxx:(.text+0xaf2): undefined reference to `cygwin_conv _to_win32_path' SystemTools.o:SystemTools.cxx:(.text+0xaf2): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `cygwin_co

我打字的时候

$ ./bootstrap
我有一些错误:

SystemTools.o:SystemTools.cxx:(.text+0xaf2): undefined reference to `cygwin_conv _to_win32_path'
SystemTools.o:SystemTools.cxx:(.text+0xaf2): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `cygwin_conv_to_win32_path'
/usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../x86_64-pc-cygwin/bin/ld: SystemTools.o: bad reloc address 0x0 in section `.pdata$_ZStanSt12_Ios_IostateS_'
collect2: error: ld returned 1 exit status
Makefile:2: recipe for target 'cmake' failed
make: *** [cmake] Error 1
---------------------------------------------
Error when bootstrapping CMake:
Problem while running make
---------------------------------------------
Log of errors: /home/cmake-2.8.12/Bootstrap.cmk/cmake_bootstrap.log

这是一个弃用的Cygwin API,已在x86_64端口中删除。虽然您可以通过使用修复此问题,但我建议找到更广泛的补丁集。

解决了此问题。我认为问题在于与其他环境(如POSIX、FreeBSD)的某些设置相关的一些if_-else条件。我不是一个专家,所以通过点击和试用,我评论了文件LSDynaFamily.cxx中的一些行

第44行:

//return stat64(fname,&s);
227号线之后的部分线路修改如下:

//#elif USE_STAT_64
  //struct stat64 st;

Part of line number 240:
#if defined (WIN32) && VTK_SIZEOF_ID_TYPE==8
  struct __stat64 st;
//#elif USE_STAT_64
  //struct stat64 st;
#else
  struct stat st;
#endif
  while ( tryAdapt >= 0 )
    {
    tmpFile = vtkLSGetFamilyFileName( this->DatabaseDirectory.c_str(),
                                      this->DatabaseBaseName,
                                      adaptLevel,
                                      filenum );
  /*  if ( LS_DYNA_STAT( tmpFile.c_str(), st) == 0 )
      {
      if ( adapted )
        {
        this->Adaptations.push_back( (int)this->Files.size() );
        adapted = false;
        }
      this->Files.push_back( tmpFile );
      this->FileSizes.push_back( st.st_size );
      this->FileAdaptLevels.push_back( adaptLevel );
      tryAdapt = 1;
      ++filenum;
      }
    else
      {*/
      --tryAdapt;
      ++adaptLevel;
      filenum = 0;
      adapted = true;
    //  }
    }
    return this->Files.size() == 0;
  }

嗨,雅科夫,非常感谢你的回复。你能解释一下我需要做些什么来改变这条路吗。我对Cygwin和Cmake很陌生,这个问题困扰了我很长时间。非常感谢你的帮助。再次感谢你。