1. 程式人生 > >CMAKE安裝VTK時報錯

CMAKE安裝VTK時報錯

以下是錯誤提示:

  CMake Error at F:/Program Files/CMake 2.8/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 (message):
  The C compiler "F:/Program Files/Microsoft Visual Studio
  10.0/VC/bin/cl.exe" is not able to compile a simple test program.


  It fails with the following output:


   Change Dir: F:/Program Files/VTK 5.8.0/bin/CMakeFiles/CMakeTmp


  


  Run Build Command:F:\PROGRA~1\MICROS~1.0\Common7\IDE\devenv.com
  CMAKE_TRY_COMPILE.sln /build Debug /project cmTryCompileExec1999438401


  


  Microsoft(R) Visual Studio 10.0.30319.1 版。


  版權所有(C) Microsoft Corp。保留所有權利。


  1>------ 已啟動生成: 專案: cmTryCompileExec1999438401, 配置: Debug Win32
  ------


  1>生成啟動時間為 2014/3/19 10:16:04。


  1>PrepareForBuild:


  1> 正在建立目錄“F:\Program Files\VTK
  5.8.0\bin\CMakeFiles\CMakeTmp\Debug\”。


  1>InitializeBuildStatus:


  1>
  正在建立“cmTryCompileExec1999438401.dir\Debug\cmTryCompileExec1999438401.unsuccessfulbuild”,因為已指定“AlwaysCreate”。




  1>ClCompile:


  1> 用於 80x86 的 Microsoft (R) 32 位 C/C++ 優化編譯器 16.00.30319.01 版


  1> 版權所有(C) Microsoft Corporation。保留所有權利。


  1> 


  1> cl /c /Zi /W3 /WX- /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D _DEBUG /D
  "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise
  /Zc:wchar_t /Zc:forScope /Fo"cmTryCompileExec1999438401.dir\Debug\\"
  /Fd"F:/Program Files/VTK
  5.8.0/bin/CMakeFiles/CMakeTmp/Debug/cmTryCompileExec1999438401.pdb" /Gd /TC
  /analyze- /errorReport:prompt testCCompiler.c


  1> 


  1> testCCompiler.c


  1>LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞


  1>


  1>生成失敗。


  1>


  1>已用時間 00:00:02.15


  ========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========


  


  


  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):

  CMakeLists.txt:9 (PROJECT)

錯誤截圖:



解決辦法:

這是VS10裡的 “LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞” 錯誤,在vs中可以通過設定生成清單為否來解決,可是cmake裡無法設定。所以這裡採取刪除舊版本的cvtres.exe 檔案。

一個C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe另一個在你安裝VS的軟體目錄..\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe

然後右鍵屬性-->詳細資訊 檢視兩者版本號,把老大的Kill掉,就完了。我的是在..\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe 的為老版本的,刪掉它一切都正常了。