Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
QtCreator:targetdebug/…obj不';不存在 我是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_C++_Qt - Fatal编程技术网

QtCreator:targetdebug/…obj不';不存在 我是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

QtCreator:targetdebug/…obj不';不存在 我是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,c++,qt,C++,Qt,在mainwindow.cpp中: TransitiousPlayer player; player.play(); 总的来说,我也呼吁: qRegisterMetaType<TransitiousPlayer>(); qRegisterMetaType(); 如果我只试着编译transiousplayer.cpp,它会说:“Target debug/transiousplayer.obj不存在。”可能已经太迟了,但我也遇到了同样的问题,而且我对QT(5.2.0)也是新手 出于

在mainwindow.cpp中:

TransitiousPlayer player;
player.play();
总的来说,我也呼吁:

qRegisterMetaType<TransitiousPlayer>();
qRegisterMetaType();

如果我只试着编译transiousplayer.cpp,它会说:“Target debug/transiousplayer.obj不存在。”

可能已经太迟了,但我也遇到了同样的问题,而且我对QT(5.2.0)也是新手

出于某种原因,如果makefile已经生成,在我的情况下,它不会将其添加到makefile中,即使您选择“Clean”,我假设Clean会这样做

对我有效的解决方案是手动删除build目录的内容,然后再次点击build,在这种情况下它会重新创建它。如果不是这样,我不确定clean应该做什么

我有一个包含几个类的项目,我构建并运行了这些类,然后用File->newfile创建了一个新类。。C++类。写下我的课程,然后再次按run。 我知道我的构造器不见了。仅在该文件上点击build并获得相同的目标Debug/…obj不存在。 检查pro文件和类源和头名称是否存在,检查磁盘是否存在,检查Makefile.Debug是否存在这些文件的痕迹。点击clean,它不会更改生成文件。
已删除build-Projectname-Desktop-qt_5_2_0的内容。。目录,点击run,它构建并运行没有问题。

发布供将来参考:我在添加新类文件后遇到了这个问题,要编译新文件,必须在Build菜单下运行qmake

在Qt项目视图中,再次选择“运行qmake”。那么一切都好了。

如果您使用的是qmake,您可以保存项目文件吗?这是哪个操作系统?OT:Fwiw,“Transitious”就我所知不是一个英语单词。我手动将该文件添加到makefile中,它对我很有用。操作系统是Windows,我使用的是Qt creator。Qt创建者中C++类有什么属性吗?也许是“编译”复选框?“Transitious”只是一个虚构的名称和工作标题。您可以添加源文件和头文件,它们将自动添加到后台qmake文件中。如果您自己打开项目文件,您将看到
标题
变量已在其中填充。您还可以手动自定义它们,并在重新生成项目树时自动为您重新解析。检查是否在其中添加了必要的文件。这就是为什么我的主要例程是
addclass
=>
runqmake
@Tim shoot我首先看到了上面的答案。这听起来更干净,我下次试试。
qRegisterMetaType<TransitiousPlayer>();