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的生成過程稍微麻煩點兒,功能上也稍微麻煩點兒,類也稍微多了點兒,總之就是一句話,學無止境