私はQtが初めてです。長い間 4.8.3 をインストールしてきましたが、昨日初めて Qt プログラムを書き始めました。私は Windows 環境で、C++ コードに CodeBlocks を使用しています。
私は Qt プログラミングに関する本に従い、本の例を再現しようとしました。問題は、別のコンパイルが必要な第 2 章で発生しました。CodeBlocks を使用した個別のコンパイルが成功したことはなく、今回も例外ではありません。「XXX への不明な参照」をまだ受け取りました。
オンラインですべての指示を見つけようとしましたが、まだ解決できませんでした (qmake のセットアップ、リンクなど)。建てられた; プログラムをビルドするために「はい」をクリックすると、同じ「ビルドされていません」という通知が表示され、プロセスが繰り返されました。
Qt に何か問題があるのではないかと疑ったことがあるので、それを削除して最新のもの (Qt5.0) をインストールしました。しかし、CodeBlocks は Qt4 しかサポートしておらず、私のコンパイラは Qt5 をサポートしていないため、使用できませんでした。
そこで、「古いもの」である 4.8.4 をダウンロードしようとしました。その後、1 ファイルのプログラムをコンパイルすることさえできないことが判明しました (つまり、プロジェクト全体で 1 つの .cpp ファイルであり、自己定義ヘッダーはありません)。次のようなデフォルトの CodeBlock qt プログラムを試しました。
#include <QApplication>
#include <QFont>
#include <QPushButton>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QPushButton quit("Quit");
quit.resize(75, 30);
quit.setFont(QFont("Times", 18, QFont::Bold));
QObject::connect(&quit, SIGNAL(clicked()), &app, SLOT(quit()));
quit.show();
return app.exec();
}
ごくごく標準的なもの。コンパイルする必要がありますが、さらに悪いことに、実行直後に実行時エラーが発生するため、プログラムは機能しません (エラー コード: 0xC0000005 または -1073741819) これは私の問題です 1: 手掛かりがありません。問題を解決するには?CodeBlocks と Qt を削除して、動作する場合は再インストールしてもかまいませんが、試してみましたが、役に立ちません。
私の2番目の問題:(これは解決されました)次に、Qt Creatorを使用しようとしました。上記の簡単なプログラムをコンパイルしたところ、「unwind_resume」というキーワードを含む多くのエラーが表示されました。解決方法を教えてください。(オンライン コメントでは、qtvar.bat を実行するように提案されていますが、役に立ちませんでした。デバッグ ライブラリの構築を提案している人もいました。試してみましたが、メモリ不足のために誤って停止しましたか?)
私の3番目の問題:(上記で説明されているため、かなり冗長であることがわかったため、削除しました)
(私の投稿を実際に読んでくれた人たちにまず感謝しなければなりません。提供された情報は解決策を見つけるのに十分ではないかもしれませんが、私が知っているのはこれだけです。)
更新 - いくつかの詳細情報: 実際には、CodeBlocks に対しても同様の未定義の参照がありました。しかし、私は怠け者だったので、すべての .dll ファイルを qt フォルダーから SysWOW64 にコピーしました。プログラムは昨日コンパイルして実行しましたが、新しい .dll ファイルもコピーしたにもかかわらず、今日 qt とコードブロックを再インストールした後、プログラムがランタイム エラーでクラッシュしました。明確にするために:.dllファイルをSysWOW64にコピーすると、コードブロックはプログラムをコンパイルできますが、プログラムが正常に実行されたため、昨日とは異なり、プログラムがクラッシュします。)
更新 - 問題は実行時エラーです。