スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

VS2008Express+Qt4.7.1:開発メモ2

日々、悪戦苦闘のQtです。
例題の改造をしているところですがDebugモードでやっていたので
配布のことを考えてReleaseモードに変えてみました。
するとDebugモードでは動いていたものが実行時に次のエラーが。

QWidget: Must construct a QApplication before a QPaintDevice

調べてみると原因はリンクするライブラリがDebug用のままだったようです。


プロジェクトのプロパティを編集するのが面倒なので
ライブラリの追加はソースに直接書いています。
例題のコマンドラインを調べて必要なライブラリを調べて追加します。

Debugモードでは
#pragma comment(lib, "qtmaind.lib")
#pragma comment(lib, "QtOpenGLd4.lib")
#pragma comment(lib, "QtGuid4.lib")
#pragma comment(lib, "QtCored4.lib")
だったところを
Releaseモード用に
#pragma comment(lib, "qtmain.lib")
#pragma comment(lib, "QtOpenGL4.lib")
#pragma comment(lib, "QtGui4.lib")
#pragma comment(lib, "QtCore4.lib")
と書き換えると実行して動きました。
いやはや基本が分かっていないと大変です。

しかし検索してみると同様なエラーで困っている方は結構いるようでした。
ほとんどが英文のものでしたが
「Debug(Release)で動くものがRelease(Debug)だと
 上記エラーメッセージが出て動かない。」
と言う記事をいくつも発見しました。

困ったらとりあえず例題のリンカなどのコマンドラインを見ると良さそうです。
例題がビルドに成功していれば、それを少し改造した
自作のプログラムもビルドできるはずですから。

スポンサーサイト

コメントの投稿

非公開コメント

カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
プロフィール

uglab

Author:uglab
ソフト開発会社

【Twitter】
フォローお願いします

【You tube動画一覧】
チャンネル登録お願いします


最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
検索フォーム
スポンサードリンク
    【スポンサードリンク】

リンク
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。