5

既存のMFCベースのアプリケーションでQtを使用するようにQtWinMigrationフレームワークをセットアップしようとしています。フレームワークをライブラリとして使用したいので、ファイルを実行qmakeしてqtwinmigrate/buildlib/buildlib.proVisualStudiovcxprojプロジェクトファイルを作成しました。フレームワークをdll/libとしてビルドし、ヘッダーを共通のインクルードディレクトリに配置しました。私のMFCプロジェクトでは、Qt移行フレームワークのlibを依存関係として追加し、必要に応じてヘッダーを含め、フレームワークをテストするためのコードを追加しました。すべてが正常にコンパイルされますが、リンカーエラーが発生します。

エラーLNK2001:未解決の外部シンボル "public:static struct QMetaObject const QWinWidget :: staticMetaObject"(?staticMetaObject @ QWinWidget @@ 2UQMetaObject @@ B)

4

1 に答える 1

6

このフォーラムの投稿によると、QtWinMigrationフレームワークをライブラリとして使用しているMFCプロジェクトにプリプロセッサ定義を追加する必要があります。単に追加する

QT_QTWINMIGRATE_IMPORT

の下のプロジェクト設定に移動しますProperties -> C/C++ -> Preprocessor -> Preprocessor Definitions

これが必要な理由の詳細については、このブログ投稿を参照してください。

于 2012-05-29T12:48:21.887 に答える