2017-01-27 123 views
1

目前我正在嘗試將VTK庫與Qt結合使用來構建應用程序以可視化STL文件。要開始我安裝了下列庫/節目:VS2015 + VTK 7.1.0 + Qt 5.8.0從VTK入口點故障運行Qt示例

  • 的Visual Studio 2015年專業
  • 的CMake 3.7.0
  • VTK 7.1.0
  • 的Qt 5.8.0

QT間期我使用的是針對vs2015編譯的版本,即:

  • qt-opensource -Windows 86 msvc2015_64-5.8.0.exe

Kitware一切提供的說明之後,似乎要被罰款,而配置和建設VTK我沒有得到任何錯誤。於是我決定使用VTK的一些示例代碼作爲起點。

同樣的應用程序的鏈接和建設,儘快進行得很順利,但是當我試着開始我收到以下錯誤的應用程序:

程序輸入點rgbSwapped @ QImage的@@ QEHAA $$ QEAV1 @ Z不能位於動態鏈接庫C:\ VTK \ bin \ bin \ Release \ vtkGUISupportQt-7.1.dll中。

我已經搜索了一個解決方案,但我找不到一個。我也嘗試過其他版本的VTK和Qt,但是我仍然遇到這個錯誤。例如今天早上,我嘗試將VTK 6.3.0與Qt 4.8.5結合使用,再次執行直到我試圖運行一些代碼,這次我收到了這個錯誤:

程序入口點?doItemsLayout @ QTableView @ @UAEXXZ無法位於動態鏈接庫C:\ VTK \ bin \ bin \ Release \ vtkGUISupportQt-6.3.dll中。

如果有人有這種錯誤的經驗,請讓我知道。

回答

1

我有同樣的問題。對我來說這似乎很奇怪,爲什麼系統在$ PATH中看不到QT dll,但是如果你把Qt dll放在你的可執行文件目錄中,它將運行正常。也許更有效的人可以解釋這種行爲。

+0

謝謝,這解決了我的問題。我認爲這個錯誤是由VTK的.dll文件引起的,但顯然我錯了。 – Plzzz

0

It seems strange to me, why system doesn`t see QT dll in the $PATH, but if you put Qt dll in you executable directory it will run fine.

這取決於Windows如何找到DLL。詳情請參閱Dynamic-Link Library Search Order。出於這個原因,我總是將所需的DLL放在可執行目錄中,以便使用正確版本的DLL。最好有一個需要的DLL列表,因爲這些DLL也需要發送給最終用戶。