2

QTを始めたいです。QTクリエーターでQT5 MINGWコンパイラーをダウンロードし、アフィンという名前の事前に添付された例をビルドしようとしています。問題は、QT5が各ソースファイルにプロジェクト名を埋め込んでいると思うため、ファイルが見つからないというエラーが発生することです。似たような

    :-1: error: ..affinemain.cpp: No such file or directory

ファイル名は

    main.cpp 

修正方法がわかりません。私はインターネットでたくさん検索しましたが、役に立つものは何も見つかりませんでした。私はコマンドプロンプトからコンパイルしようとさえしますが、私はQTが初めてで、以前はVisual StudioのIDEとJavaのEclipseで完全に開発されていたため、コマンドプロンプトのコンパイルに慣れていないため、makeファイルとコンパイラコマンドについてはわかりません行引数。誰かがこの問題を修正するのを手伝ってくれませんか?コンパイラがプロジェクト名をソースファイル名に添付する理由を教えてください。前もって感謝します

4

2 に答える 2

2

私は同じ問題を抱えており、私の解決策があなたを助けるかもしれません.

私は現在 Qt5.0.1 を使用しています。Windows で動作するディストリビューションは 2 つあります: Qt5.0.1-mingw と Qt5.0.1-msvc2010 です。mingw を使用する必要がありましたが、パスで「/」が無視されるというセットアップの問題がありました。

したがって、Qt Creator によると、ファイル mainwindow.cpp を処理するためにコンパイラが呼び出され、このファイルが渡されました。

g++ /*truncated*/ ..\qt-example\mainwindow.cpp

以下は、完全なコンパイラ入力です。

g++ -c -pipe -fno-keep-inline-dllexport -g -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_NEEDS_QMAIN -I..\qt-example -I"..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include" -I"..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtWidgets" -I"..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtGui" -I"..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtCore" -I"debug" -I"." -I"." -I"..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\mkspecs\win32-g++" -o debug\mainwindow.o ..\qt-example\mainwindow.cpp

そして、エラーが発生しました。

g++.exe: error: ..qt-examplemainwindow.cpp: No such file or directory
g++.exe: fatal error: no input files
compilation terminated.

したがって、「\」はコンパイラによって無視され、ファイル名がディレクトリ名とマージされることがわかります。

その問題の解決策は、使用されているツール - MinGW (GCC と Binutils の最小ポート) にあります。また、MSYS - bash、make、gawk、grep などの GNU ユーティリティのコレクションであり、従来の UNIX ツールに依存するアプリケーションやプログラムの構築を可能にします。私たちの場合 - g++.

MSYS は Qt5.0.1-mingw に同梱されておらず、g++ は使用していませんが、MSYS を PATH 環境変数で使用できるようにすると、システムが壊れます。

MSYSは、私がインストールした git scm に使用されるため、私のパスには、git にバンドルされている MSYS へのリンクが含まれています。したがって、PATH 環境変数に次のパスがあります。

C:\Program Files (x86)\git\bin;C:\Program Files (x86)\git\cmd

MSYS が Qt Creator または g++ でどのように使用されているか、またはリンクされている場所はわかりませんが、PATH から次のパスを削除した場合:

C:\Program Files (x86)\git\bin;

Qt Creatorを再起動しました-g ++はファイルのコンパイルに成功し、機能しました。git でインストールされた MSYS ユーティリティを使用すべきではない Qt Creator/g++ に、なぜ/どのように影響するのかという問題はまだ未解決です。

于 2013-03-17T09:18:17.733 に答える
0

コメントできません。

重要: autor のヒントを試す前に、リリースおよびデバッグ フォルダー (コンパイル済みバージョン) 内のすべてのファイルを削除してください ...

于 2014-07-21T23:23:32.853 に答える