dポイントプレゼントキャンペーン実施中!

Qt 5.12.6で下記のコードをコンパイルしていますが
最初ののインクルードで、インクルードが出来ない旨のエラーみなります。

Q1)このインクルードが出来ないエラーを解決する方法をお教え頂けますと
大変助かります。

//file name: main.cpp
#include <phonon/mediaobject.h> //<ーーインクルードが出来ないエラー
#include <phonon/audiooutput.h> //<ーーインクルードが出来ないエラー
#include <mmsystem.h> //<ーーインクルードが出来ないエラー
#include <QFileDialog>
//#include <QtGui/QApplication>
//#include <QtGui/QMainWindow>
#include <QApplication>
#include <QMainWindow>
#include <QUrl>

class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow();
};

MainWindow::MainWindow()
{
Phonon::MediaObject* media = new Phonon::MediaObject(this);
Phonon::createPath(media, new Phonon::AudioOutput(Phonon::MusicCategory, this));
media->setCurrentSource(QUrl::fromLocalFile(QFileDialog::getOpenFileName(0,QString("Select a file to play"),QString())));
media->play();
}

int main(int argc, char **argv)
{
QApplication app(argc, argv);
QApplication::setApplicationName("Phonon Tutorial 2");
MainWindow mw;
mw.show();
return app.exec();
}

A 回答 (4件)

#include で読み込めないエラーが出る場合、考えられるのは主に2つ


(1) ファイル自体が本当に存在しない。
(2) ファイルは存在するが、コンパイラが探しにいく場所にはない。

対処方として。
1.まず、 ファイル自体があるかどうかの確認をする。 
 find命令等を使う。
2. (1.で見つかった場合) そのフルパスを確認する。
 /usr/include/〜 のようなものなら、本来なら読み込めるはず。
 そうでないなら、-Iオプションでディレクトリを追加することで解決するかもしれない。
  ( -Lでライブラリパスも指定する必要があるかもしれない)
3.(1.で見つからない場合)必要なファイルをインストールする。
 または、代替手段を考える。


パッケージでインストールしている場合、実行用と開発用とが分かれていることがあります。
Qt5をインストールしただけで、phononの開発用パッケージはインストールされていないのではないでしょうか?
https://packages.ubuntu.com/ja/xenial/libphonon4 …

もしインストールされているとして。
ファイル一覧を見ると、libphonon4qt5-dev では
#include <phonon/mediaobject.h>
で読み込まれそうなファイルは
/usr/include/phonon4qt5/phonon/mediaobject.h
なるようです。
-I/usr/include/phonon4qt5 と指定する必要があるのではないでしょうか?phonon/mediaobject.h
    • good
    • 0
この回答へのお礼

お世話になります。
回答を参考にします。
感謝!!!

お礼日時:2020/01/09 09:12

あと



#include <mmsystem.h>
はWindows用です。
    • good
    • 0

ちょっと確認したいんだけど, まさかその #include で


その URL からてきとうにファイルを持ってこい
って要求してるわけじゃない... よね?
    • good
    • 0
この回答へのお礼

お世話になります。
その#include について知りたいわけです。
以上、宜しくお願いします。

お礼日時:2020/01/08 08:21

そもそもそれらはどこにあるの?

    • good
    • 0
この回答へのお礼

毎度お世話になります。
例えば、下記にあります。
https://www.qtcentre.org/threads/30454-Phonon-Au …

お礼日時:2020/01/07 08:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!