質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Qt Creator

Qt Creatorは、Qtアプリケーションを開発するための開発統合環境(IDE)です。

解決済

ubuntu20.04にQt5.12.8をインストールした環境にてQt-CreaterでQMainWindowが参照できない

miyazato1970
miyazato1970

総合スコア1

Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Qt Creator

Qt Creatorは、Qtアプリケーションを開発するための開発統合環境(IDE)です。

1回答

0評価

0クリップ

1300閲覧

投稿2021/10/26 08:22

編集2021/10/26 11:37

前提・実現したいこと

ubuntu20.04にQt5.12.8(Qt Creator 4.11.0)をインストールしました。
Qt CreatorにてQt Widgets Applicationプロジェクトを新規作成し、
簡単なアプリケーションを作成したいのですが、原因不明のエラーが発生しており
困っています。解決策をご存じの方がいらっしゃいましたらご教授いただけますと
幸いです。

・Qt5.12.8(Qt Creator 4.11.0)インストール手順は以下を実行しました。
sudo apt update && sudo apt upgrade -y
sudo apt install qtbase5-dev qttools5-dev-tools qt5-default
sudo apt install qtcreator

発生している問題・エラーメッセージ

1.Qt Creatorでmainwindow.hを開くと上部に"Warning:The code model could not parse an included file,which might lead to incorrect code completion and highlighting, for example."と表示される。

2."class MainWindow : public QMainWindow"の行番号の左に赤丸が表示され、カーソルを赤丸の上に移動すると"Parse Issue error:expected class name"メッセージが表示される。

該当のソースコード

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();

private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

試したこと

1.sudo apt-get install gcc も追加インストールした(現象変わらず)

2./usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMainWindow が存在することを確認した。

補足情報(FW/ツールのバージョンなど)

関係はないと思いますが、
ubuntu20.04/Qt5.12.8(Qt Creator 4.11.0)の環境はVM Ware Workstation 12 Player(12.5.9)で構築しました。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

yuki23

2021/10/28 14:52

コンパイルは出来ますか?
miyazato1970

2021/10/29 05:23

ご確認ありがとうございます。 コンパイルを行うと class MainWindow : public QMainWindow の行で「expected class name」エラーが発生します。 また、Q_OBJECT の行で「incomplete result type 'QString' in function definition」エラーが発生します。 上記以外にも、「Q_OBJECT」、「QT_TR_FUNCTIONS」等macroが参照できていないようなエラーが多数発生しております。
yuki23

2021/10/29 08:23

qt creator のオプションの「kits」「Qtバージョン」「コンパイラ」はそれぞれどのような設定になっていますか?
miyazato1970

2021/10/29 09:50

ご回答ありがとうございます。 qt creaatorのオプションは以下の通りです。 ①kits 自動検出  ▼手動   デスクトップ(既定) ②Qtバージョン  ▼手動   !PATH(qt5)に含まれるQt5.12.8 /usr/lib/qt5/bin/qmake   !PATH(システム)に含まれるQt5.12.8 /usr/lib/qt5/bin/qmake  自動検出 ③コンパイラ  ▼自動検出   ▼C++ Clang(C++,x86 64bit in /usr/bin) タイプ:Clang   ▼C Clang(C,x86 64bit in /usr/bin) タイプ:Clang GCC(C,x86 64bit in /usr/bin) タイプ:GCC  ▼手動    C++    C
miyazato1970

2021/10/29 10:14

追加情報です。 ③コンパイラにてC++の一覧にGCCが表示されていなかったため、これが原因かと思い以下を実施し、再起動しましたが現象は変わりませんでした。 sudo apt install g++ sudo apt install build-essential 上記実施した結果、qt creatorのオプション(③コンパイラ)は以下の通りに変わりました。 ③コンパイラ  ▼自動検出   ▼C++ Clang(C++,x86 64bit in /usr/bin) タイプ:Clang GCC(C++,x86 64bit in /usr/bin) タイプ:GCC   ▼C Clang(C,x86 64bit in /usr/bin) タイプ:Clang GCC(C,x86 64bit in /usr/bin) タイプ:GCC
yuki23

2021/10/29 10:33

言い忘れましたが、エラーメッセージは勝手に省略するのではなく全文を載せてください。
miyazato1970

2021/11/01 08:21

エラーメッセージを省略して掲載してしまい申し訳ございません。以下に全文記載いたします。 これは、新規プロジェクト"NewApp"を作成した直後に"すべてビルド"を実行したときのエラー内容です。 /home/miya/NewApp/mainwindow.h:10: エラー: expected class name /home/miya/NewApp/mainwindow.h:12: エラー: incomplete result type 'QString' in function definition /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:182: expanded from macro 'Q_OBJECT' /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:140: expanded from macro 'QT_TR_FUNCTIONS' /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:768: forward declaration of 'QString' /home/miya/NewApp/mainwindow.h:12: エラー: calling 'tr' with incomplete return type 'QString' /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:182: expanded from macro 'Q_OBJECT' /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:141: expanded from macro 'QT_TR_FUNCTIONS' /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:348: 'tr' declared here /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:768: forward declaration of 'QString' /home/miya/NewApp/mainwindow.h:12: エラー: incomplete result type 'QString' in function definition /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:182: expanded from macro 'Q_OBJECT' /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:142: expanded from macro 'QT_TR_FUNCTIONS' /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:768: forward declaration of 'QString' /home/miya/NewApp/mainwindow.h:12: エラー: calling 'tr' with incomplete return type 'QString' /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:182: expanded from macro 'Q_OBJECT' /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:143: expanded from macro 'QT_TR_FUNCTIONS' /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs.h:348: 'tr' declared here /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:768: forward declaration of 'QString'
miyazato1970

2021/11/02 04:42 編集

yuki23様からの最初のご質問に対して誤った回答をしておりましたので訂正いたします。混乱するような回答をしてしまい、大変申し訳ございません。 >コンパイルは出来ますか? 「clang++」の場合も、「G++」できておりました。結果は以下の通りです。 当初、ひとつ前の投稿に記載したものがコンパイルエラーだと思っておりましたが、この情報はmainwindow.hを開いたときに出力ペインの「問題」に出力されている内容でした。 13:00:17: 起動中: "/usr/bin/make" -j1 /usr/lib/qt5/bin/uic ../NewApp/mainwindow.ui -o ui_mainwindow.h clang++ -c -pipe -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../NewApp -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-clang -o main.o ../NewApp/main.cpp clang++ -c -pipe -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../NewApp -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-clang -o mainwindow.o ../NewApp/mainwindow.cpp clang++ -pipe -g -std=gnu++11 -Wall -W -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp /usr/lib/qt5/bin/moc -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --include /home/miya/build-NewApp-unknown-Debug/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-clang -I/home/miya/NewApp -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../NewApp/mainwindow.h -o moc_mainwindow.cpp clang++ -c -pipe -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../NewApp -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-clang -o moc_mainwindow.o moc_mainwindow.cpp clang++ -ccc-gcc-name g++ -o NewApp main.o mainwindow.o moc_mainwindow.o /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Core.so /usr/lib/x86_64-linux-gnu/libGL.so -lpthread 13:00:23: プロセス "/usr/bin/make" は正常に終了しました。 13:01:44: 起動中: "/usr/bin/make" -j1 /usr/lib/qt5/bin/uic ../NewApp/mainwindow.ui -o ui_mainwindow.h g++ -c -pipe -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../NewApp -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o main.o ../NewApp/main.cpp g++ -c -pipe -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../NewApp -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o mainwindow.o ../NewApp/mainwindow.cpp g++ -pipe -g -std=gnu++11 -Wall -W -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp /usr/lib/qt5/bin/moc -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --include /home/miya/build-NewApp-unknown-Debug/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/miya/NewApp -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../NewApp/mainwindow.h -o moc_mainwindow.cpp g++ -c -pipe -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../NewApp -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o moc_mainwindow.o moc_mainwindow.cpp g++ -o NewApp main.o mainwindow.o moc_mainwindow.o /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Core.so /usr/lib/x86_64-linux-gnu/libGL.so -lpthread 13:01:50: プロセス "/usr/bin/make" は正常に終了しました。
yuki23

2021/11/02 12:49

質問は編集できますので、質問についての追加情報は質問文に記載ください。コメントに書かれても読みにくいです。次からで結構です。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Qt Creator

Qt Creatorは、Qtアプリケーションを開発するための開発統合環境(IDE)です。