2014-01-24 180 views
1

我正在開發軟件,我需要在NetBeans下使用OpenCV庫。花了2天時間才能夠正確運行OpenCV的C++應用程序。將openCV .dll文件添加到Netbeans C++ Qt應用程序

在C++應用程序中,我需要在項目屬性 - >生成 - > C++編譯器 - >包含目錄和頭文件中添加C:/ OpenCV245/build/include。此外,根據鏈接屬性 - >附加庫目錄我不得不添加以下目錄

  • C:/ OpenCV245/release/lib目錄
  • C:/ OpenCV245 /編譯/ X64/MinGW的/ lib目錄

    ,並添加我特別需要在連接體的.dll文件>庫

現在,當我嘗試創建一個C++ Qt應用程序,我添加適當的include目錄和標題,但我不能加我的「額外鋰的路徑braries」 ......

我想建築,看看會流行什麼錯誤:

找不到-lopencv_core245.dll
找不到-lopencv_highgui245.dll

我們如何補充。 dll.a文件到Netbeans下的C++ Qt應用程序?


編程環境:

  • 的NetBeans 7.4

  • MinGW的3.2編譯的C++編譯器,MSYS使命令和qt5.1.1 qmake的用於QMAKE命令

  • Qt5.1.1

  • OpenCV2.4.5

  • 的Windows 8 64位

回答

0

+在項目屬性 - >建設 - > Qt的去專家自定義添加的路徑添加到相應的文件.dll.a與LIBS + =

+在項目屬性 - >建設 - > C++編譯器包含目錄和頭文件爲包含添加適當的路徑。例如:C:\ OpenCV的\編譯\包括

+在項目屬性 - >建設 - >鏈接點擊圖書館,然後添加庫文件...(不添加庫),並添加適當的.dll.a文件這些都包含在第一點。

0

它看起來好像你正在試圖與* .DLL文件,而不是* .lib文件鏈接。正確的方法是:

  1. 在鏈接器 - >庫設置鏈接到* .LIB文件您需要而不是* .DLL文件。
  2. 編譯程序,所以你得到的* .EXE
  3. 把相關的* .DLL,文件在同一文件夾中的* .EXE
  4. 該程序現在可運行的,如果你在雙擊其圖標文件瀏覽器。

該程序拒絕從Netbeans運行,但它從文件瀏覽器運行,那是因爲您需要告訴Netbeans在調試模式下啓動程序時的「當前工作目錄」。該設置應該在某些設置對話框中可用。

+0

感謝您的迴應,與庫一起提供的lib文件被編譯爲與Visual Studio一起使用。我必須從頭開始編譯源文件,所有可用的文件都是.dll文件 – FlyersAllDay

+0

Lib文件未編譯爲與特定的IDE或編譯器配合使用。唯一的區別來自於編譯它們用於不同的操作系統或計算機體系結構(即32位與64位系統)。如果lib文件是在你的系統上編譯的,並且大部分都是編譯器,那麼它們應該可以工作。 – nQue

+0

OP不鏈接到'.DLL'文件。 OP鏈接到'.a'文件。例如'libopencv_highgui245.dll.a' –

相關問題