PCL從入門到奪門而出:Qt5,VTK8.0.0,PCL1.8.0,VS2017的配置編譯和安裝

本人,一個點雲newbie,看了《點雲庫PCL從入門到精通》第五章,qt的相關內容,發現書中說的對新手很不友好。
在解決了好幾天bug之後,寫下這篇newbie教程。

配置環境:

VS2017_x64,VTK8.0.0,QT5.13.0,Qt Creator4.9.1,cmake3.10.2

目標:

實現VS、VTK、QT的聯合使用,並且把書裏的代碼跑通

過程:

1.安裝PCL

  • 安裝的時候注意PCL路徑中不要出現空格,默認安裝路徑是有空格的
  • 安裝後,記得去電腦上增加PCL的環境變量

添加環境變量PCL_ROOT

C:\Program Files\PCL 1.8.0

在PATH環境變量下添加

C:\Program Files\OpenNI\Bin;
%PCL_ROOT%\bin;
%PCL_ROOT%\3rdParty\FLANN\bin;
%PCL_ROOT%\3rdParty\Qhull\bin;

2.安裝cmake

  • 注意版本問題
    我安裝的是cmake3.10.2
    一開始安裝的是比較新的一個版本,但是那個版本中的VS2017沒有64位的版本,也就是跟我電腦中安裝的VS不兼容,cmake無法運行,所以換了比較舊的版本就可以了。

3.用cmake安裝VTK

  • 需要按照書上的注意事項對編譯時的VTK進行勾選
  • 我就是在這一步埋下了bug的伏筆
  • 如果不想自己編譯VTK的話,就去csdn的資源博客上下載別人編譯好的VTK
    我用的是這位博主的資源
    https://blog.csdn.net/HB_Programmer/article/details/92836303
    雖然配置有些和我不一樣,但是確實能用,解決了我的大bug
    (也就是QVtkWidgetPlugin.dll無法識別,找不到頭文件QVtkWidget.h)

4.安裝qt和插件

  • 網上沒有找到只安裝qt designer的辦法。只能夠安裝Qt的時候安裝QtCreator
  • 把QVTkWidgetPlugin.dll放到QtCreator的plugin/designer中會發現無法讀取。
    stackoverflow上說,需要和QtCreator的關於中所提到的配置一樣的電腦編譯的QVTkWidgetPlugin.dll才能被識別。
    但是QtCreator的32位和64位是同一個安裝包,安裝下來就是32位,我的vs是64位。在網上沒找到這個配置的dll下載,此題無解。如果大家有這個配置的dll,麻煩發我一份。

5.跑項目

  • 遇到的第一個bug就是VS會報錯找不到過程文件ui_pclvisualizer中的頭文件:
    報錯原因有三點
    1.pcl的安裝位置沒有配置到環境變量中

    2.是qt4和qt5的頭文件發生了一些比較大的變化,具體的寫法我會上傳到我的csdn資源裏面。
    https://download.csdn.net/download/sparkleyn/11463567

  • 遇到的第二個報錯就是“找不到頭文件QVtkWidget.h”
    具體原因是因爲當初VTK沒編譯好,全網都沒找到解決方案,在這個博客的幫助下解決了,實名感謝(o゜▽゜)o☆
    https://blog.csdn.net/HB_Programmer/article/details/92836303

  • 遇到的第三個事情是,我在嘗試解決bug的時候在VS中安裝了vs qt tools
    如果在VS-tools中下載這個插件,會發現,這個插件下載之後沒法兒用。
    是因爲版本太高了。這個時候就要去網上下載低版本,並且取消掉vs-tools裏面的自動更新纔可以用。

6.還沒有解決的問題

QtCreator上還是沒有識別到QVtkWidgetPlugin.dll,我的QtCreator是msvc2017,32bit,希望大家有這個版本的dll發我一份,感激不盡。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章