[QT/OpenCV] Qt は OpenCV DLL プロジェクトを作成して公開します

01. 開発版

以下のソース コードおよびソフトウェアはすべて、次のバージョンに基づいています。

1、QT: Qt 5.12.2 (MSVC 2017、32 ビット) ベース
2、OpenCV: OpenCV – 4.5.1

ヒント: OpenCV のバージョンは私のバージョンと同じである必要はありませんが、一部のインターフェイスや使用方法がバージョン間で変更されている可能性があります。そのため、私が書いた OpenCV 記事の一部が後で使用する際に互換性がなくなる可能性があります。知る!

02. QT が DLL プロジェクトを作成します

  1. QtQcreator ソフトウェアを開き、新しいプロジェクトの作成を選択します 新しいプロジェクト

ここに画像の説明を挿入
2. [ライブラリ] -> [C++ ライブラリ] -> [選択...] を選択します。

ここに画像の説明を挿入3.共有ライブラリを選択 -> ライブラリ プロジェクトの名前を追加 -> 次のステップに進みます。

ここに画像の説明を挿入
4. [すべてのキットを選択] -> [デスクトップ Qt 5.12.3 MinGW 64 ビット] をチェックします (ここではコンパイラは独自のものに基づくことができます)

ここに画像の説明を挿入
5.モジュール項目を選択 -> 次のステップに進みます

ここに画像の説明を挿入
6.次に、プロジェクト名を確認し、コード管理を選択して、DLL ダイナミック ライブラリの作成を完了します。

03. dllプロジェクトの設定手順

上記のようにプロジェクトを作成した後の最終スクリーンショットは次のとおりです。
ここに画像の説明を挿入

  1. ステップ 1: .pro ファイルを構成する
    ここに画像の説明を挿入

ヒント: OpenCV の構成と 2 つのディレクトリの由来については、他のブロガーの QT 構成 OpenCV ブログを参照してください。非常に基本的な内容なので、ここでは紹介しません。

  1. ステップ 2: いくつかのインターフェースをテスト関数として追加します。
    ここに画像の説明を挿入
  2. _global.h ファイル概要*

Q_DECL_IMPORT マクロは、共有ライブラリによってエクスポートされたシンボルをマークします。この opencvcameralib_global.h ファイルを使用したくない場合は、4 ~ 10 行目を OpenCVCameraLib.h にコピーするだけで済みます。

以下に示すように:

ここに画像の説明を挿入
このファイルを使用したくない場合は、赤枠の内容をプロジェクト名.hのヘッダー ファイルにコピーするだけで削除できます。

04. DLLダイナミックライブラリテスト

  1. 新しい Qt ウィジェット アプリケーション プロジェクトを作成する
    ここに画像の説明を挿入

  2. プロジェクト名を変更する
    ここに画像の説明を挿入

  3. プロジェクト構成バージョンの選択
    ここに画像の説明を挿入

  4. クラス情報を変更します。デフォルトは MainWindow です。
    ここに画像の説明を挿入

  5. 次のようにバージョン管理を選択し、git を使用して
    ここに画像の説明を挿入
    適切なインターフェイスと .pro ファイルを作成します。
    ここに画像の説明を挿入

ヒント: OpenCV の構成も、ここの .pro で構成されています。以前にこのプロジェクトをグラフィックス テストに使用したため、このプロジェクトのいくつかのインターフェイスを予約しました。理論的には、ライブラリの形式で呼び出されます。ここで必要なのは、 include LIBS +=
C :\Users\10125\Documents\OpenCV_CameraDemo\OpenCVCameraLib.dll
ここでのパスはライブラリ生成パス、つまり、Relese ディレクトリ内の dll ライブラリ パスです。
注: dll ライブラリと .h ファイルは、テスト ファイル (実際にプロジェクトを呼び出す) の exe ファイルと同じレベルに配置する必要があります。そうしないと、コンパイル エラーが報告され、プログラムがクラッシュします。

エラーは次のとおりです。

11:58:40: Starting C:\Users\10125\Documents\build-OpenCV_CameraDemo-Desktop_Qt_5_12_3_MinGW_64_bit-Release\release\OpenCV_CameraDemo.exe ...
11:58:43: 程序异常结束。
11:58:43: The process was ended forcefully.
11:58:43: C:/Users/10125/Documents/build-OpenCV_CameraDemo-Desktop_Qt_5_12_3_MinGW_64_bit-Release/release/OpenCV_CameraDemo.exe crashed.

次に、インターフェイス呼び出しが正常であることを確認します。

おすすめ

転載: blog.csdn.net/m0_43458204/article/details/131171372