我是一个新手,对于C++和Qt并不熟悉。我的问题是,我创建了一个新的类,但是它无法编译。 编译器会提示:"在...中未解决的对象"。 这是头文件:
#ifndef TRANSITIOUSPLAYER_H
#define TRANSITIOUSPLAYER_H
#include <QtMultimedia>
class TransitiousPlayer
{
public:
TransitiousPlayer();
TransitiousPlayer(const TransitiousPlayer &other);
~TransitiousPlayer();
void play();
};
Q_DECLARE_METATYPE(TransitiousPlayer)
#endif // TRANSITIOUSPLAYER_H
类:
#include "transitiousplayer.h"
...
void TransitiousPlayer::play(){
QMediaPlayer* player = new QMediaPlayer(this);
QMediaPlaylist* playlist = new QMediaPlaylist(player);
playlist->playlist->addMedia(new QString("sh.mp3"));
player->setPlaylist(playlist);
player->play();
}
在mainwindow.cpp文件中:
TransitiousPlayer player;
player.play();
在主函数中我还调用了:
qRegisterMetaType<TransitiousPlayer>();
如果我只尝试编译transitiousplayer.cpp文件,它会显示:“目标debug/transitiousplayer.obj不存在。”
HEADERS
和SOURCES
变量已经填好了。您也可以手动自定义它们,而在重新生成项目树时,它将自动重新解析。请检查是否已添加必要的文件。 - László Papp