1085516 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

GDAといっしょ(・∀・) GDBとは違うのだよ、GDBとは!

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
May 28, 2009
XML
テーマ:私のPC生活(7398)
カテゴリ:PC・機械モノ
いつものような記事だと思って読み始めた方、ごめんなさい、の第2弾です。
同じように"Qt"が何か分かる人以外は読みとばしてくださいませ...。


*・゜゚・*:.。..。.:*・゜(*´▽`*)゚・*:.。. .。.:*・゜゚・


実はもうひとつハマっていたことがあって、こちらもググっても解決方法は出てきませんでした。
同じようにハマっている人は何人かいたみたいですが...。

前回ビルドした「Qt/MFC Migration Framework 」を使って、Win32APIとQtを混在させて記述する方法ここにあります。

"QWinWidget"と言うクラスでブリッジさせるのですが、このまま同じように書いてもリンクが通りません。

(1) VisualStudioでプロジェクトを作る
(2) 上記URLを参考に、コードを追加
(3) ライブラリとかパスとかを追加
(4) ビルド

本当はこれでウィンドウにいくつかウィジェット(コントロール)が表示されたウィンドウが出てくるはず何ですが、リンクエラーが出ます。

error LNK2001: 外部シンボル ""public: static struct QMetaObject const QWinWidget::staticMetaObject".....

  _, ._
(;゚ Д゚) …?!

全くもって意味不明です。
"staticMetaObjectが無い"ってのは分かるんですが、何で無いの?

何のキーワードで検索したのか忘れましたが、いろいろググっていたら、Googleのブック検索で、オライリーの「入門Qt4プログラミング」と言う本がヒットしました。
全部じゃ無いけど中が見えるのは便利ですね。
その中の22ページにちょっとしたヒントがありました。

"Q_OBJECTマクロ"、"moc"、何かこの辺の影響で同じようなリンクエラーが出る、と。
そのときはqmakeしなおしてmakeファイルを再生成してね、と。

  _, ._
(;゚ Д゚) …?!

VisualStudioのプロジェクトなんでmakeファイルは無いんすよね。
要はmocファイル内部に出来るはずの関数が足りなくてリンクエラー?
ん? mocファイルがいるってことかい?

そこで前回のブログでも使用した"moc_qwinwidget.cpp"をプロジェクトに追加してビルドしてみました。

キタ━━━━━━(゚∀゚)━━━━━━!!!!!

ビンゴです。
プロジェクトの設定でプリコンパイルをoffにするのとmocファイル内のヘッダのパスを変更する必要がありましたが、あっさりうまくいったときは涙モンでした。

しかしQt的にはWin32APIとの混在はサポート外らしいですね。
つまり、Qtってのは全部QtのAPIで記述しないといけない、と。

まあクロスプラットフォームな開発ツールなんで当たり前と言えば当たり前なんですけどね。





お気に入りの記事を「いいね!」で応援しよう

Last updated  May 28, 2009 04:49:21 PM
コメント(2) | コメントを書く


■コメント

お名前
タイトル
メッセージ
画像認証
別の画像を表示
上の画像で表示されている数字を入力して下さい。


利用規約に同意してコメントを
※コメントに関するよくある質問は、こちらをご確認ください。


Re:【Qt】恩返しのつもりで...(・∀・) (その2)(05/28)   Jackbauer さん
はじめまして、purimo様
migrationの件で日本で調査すると、こちらのHPのみがヒットしました^^;
初対面で大変失礼なのですが、もしよろしければ、以下の質問に相手してやって下さい。

mocの件は、ひょっとしてプリプロセッサの定義に
QT_QTWINMIGRATE_IMPORT を追加定義すれば、不要なのでしょうか?
実は、わたしのとこでは、リンク時に
error LNK2019: 未解決の外部シンボル "__declspec(dllimport) public: virtual __thiscall QWinWidget::~QWinWidget(void)"が出力され困ってます^^;
migrationのlibフォルダにあるlibQtSolutions_MFCMigrationFramework-2.8.aを追加の依存ファイルに登録するだけと思っているのですが。。。

違うのでしょうか? (Oct 11, 2010 09:26:05 PM)

Re[1]:【Qt】恩返しのつもりで...(・∀・) (その2)(05/28)   a☆1965 さん
最初に謝っておきます、前回までの24さん、お役に立てずすみません。私、Qtに関しては完全にシロウトです。あれっきりQtにも関わってないもんで...。
私も困ったときはそうやっていろんな方に助けられているので助けてあげたいのはヤマヤマなんですが...。
ホント、ごめんなさい!! (Oct 12, 2010 10:18:43 PM)

PR

Profile

a☆1965

a☆1965

Category

Calendar

Rakuten Card

Keyword Search

▼キーワード検索


© Rakuten Group, Inc.