前言
圖形圖像這塊兒,最近因為工作需要接觸的相對多了點兒,精力基本上也都投入了這塊兒,搞的天天要死要活,畢竟我一個.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的生成過程稍微麻煩點兒,功能上也稍微麻煩點兒,類也稍微多了點兒,總之就是一句話,學無止境。