1. 程式人生 > >vtk學習記錄(一)——vtk工程配置與生成

vtk學習記錄(一)——vtk工程配置與生成

前言

圖形影象這塊兒,最近因為工作需要接觸的相對多了點兒,精力基本上也都投入了這塊兒,搞的天天要死要活,畢竟我一個.net的突然來到cxx的世界,也是很苦惱的,也是頭一次見到新建工程就需要配置並且解決各種報錯,就連vtk的程式碼搞下來都還要調整,唉,不多說了。

vtk的生成

為啥不做vtk的介紹呢,因為我也不太清楚,還是不多介紹了,總的來說是在opengl的基礎上封裝的第三方類庫吧(可以這樣理解),至於為啥不自己從opengl開始呢,因為工作要更好更快可持續進展(能站在巨人的肩膀上就站)。

首先下載vtk的cmake檔案,下載地址,至於版本我這裡用的是vtk8.2.0。

下載後解壓到自己的目錄,注意不要有中文目錄,如下所示:

然後我們開啟Cmake來配置生成工程,生成目錄就放在當前目錄新建的build下。

這裡我用的vs是2015,具體版本根據自己的情況選擇。

點選Finish之後就是坐等了。

如果你看到的情況與我的類似,不要驚慌,畢竟紅彤彤什麼的已經看淡了。

我們來看下出錯的地方。

出現這個錯誤之後,果斷去搜下資料什麼的,後來是在哪找的解決方法忘了,就是把這個地方調整如下:

if (_vtk_compiletools_targets)
  list(REMOVE_DUPLICATES _vtk_compiletools_targets)
  export(TARGETS ${_vtk_compiletools_targets}
    FILE ${VTK_BINARY_DIR}/VTKCompileToolsConfig.cmake)
  add_dependencies(vtkCompileTools ${_vtk_compiletools_targets})
endif()

也就是把156,157行挪到endif中,我們儲存後再來Configure。

看到最後一行done我就放心了,然後我們來生成工程。

首先肯定要看看Example了。

選後根據需要吧,看是否需要Qt。

這裡補充下,其中一個我取消了。

如果需要指定類庫生成目錄的話,設定如下:

如果你也選了Qt的話,不出意外應該跟我一樣,還是紅彤彤,沒事,我們來幹掉他。

這個錯誤提示的就很明顯了,我們也清楚的看到,未設定Qt5的路徑,改下我截圖中標註的值就可以了。

Ok,我們又看到了done,繼續點選Generate吧。

工程建立完成,我們開啟工程,工程編譯的時候可能會很長很長時間,執行個示例工程看下是否正常執行。

Ok,到此為止,通過cmake生成工程就結束了。

Vtk生成類庫

首先,把除錯模式切換到Release,然後在我們生成的工程中找到INSTALL,右鍵->生成,點完之後可以放鬆一下,一根菸,一杯茶,一張報紙看到掛。

中間會看到好多輸出,__ func __未宣告。

從vs2013後應該是,這個巨集定義已經不支援了,新版用的是__FUNCTION__替代。

我們可以通過全域性替換來修復這個問題,也可以在一個通用的標頭檔案中,定義下這個巨集,或者直接把宣告的方法挪出來。

好了,生成完成後,我們在對應目錄看下檔案。

到此我們就可以通過新建工程自己引入vtk來完成後續的操作了。

小結

vtk的生成過程稍微麻煩點兒,功能上也稍微麻煩點兒,類也稍微多了點兒,總之就是一句話,學無止境