【qt错误】temp/moc/moc_CalibConfigManager.cpp:257: undefinedreference to `CalibConfigManager:: 报错 linux编译突然出现temp文件某一pri链接的所有文件和函数全部关联失败错误代码ql.so /usr/lib/aarch64-linux-gnu/libQt5Core.so -lGL -lpthread /usr/bin/ld: temp/obj/ui_main.o: in function qmlInitAndRegister(): /data/ty/video_dome/video_demo_ffmpeg/video_demo/../core_ui/ui_main.cpp:66: undefined reference to configManagerSingletonProvider(QQmlEngine*, QJSEngine*) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/../core_ui/ui_main.cpp:66: undefined reference to configManagerSingletonProvider(QQmlEngine*, QJSEngine*) /usr/bin/ld: temp/obj/ui_main.o: in function ui_Setup(QApplication*, QQuickView*): /data/ty/video_dome/video_demo_ffmpeg/video_demo/../core_ui/ui_main.cpp:177: undefined reference to CalibConfigManager::CalibConfigManager(QObject*) /usr/bin/ld: temp/obj/moc_CalibConfigManager.o: in function CalibConfigManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**): /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:255: undefined reference to CalibConfigManager::getImportFileList() /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:257: undefined reference to CalibConfigManager::saveConfig(QMapQString, QVariant const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:259: undefined reference to CalibConfigManager::saveConfigWithName(QString const, QMapQString, QVariant const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:261: undefined reference to CalibConfigManager::newConfig(QMapQString, QVariant const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:263: undefined reference to CalibConfigManager::loadConfig(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:265: undefined reference to CalibConfigManager::deleteConfig(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:267: undefined reference to CalibConfigManager::renameConfig(QString const, QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:269: undefined reference to CalibConfigManager::importConfig(QString const, QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:271: undefined reference to CalibConfigManager::importConfig(QString const, QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:273: undefined reference to CalibConfigManager::exportConfig(QString const, QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:275: undefined reference to CalibConfigManager::exportToDefaultPath(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:277: undefined reference to CalibConfigManager::getConfigValue(QString const, QString const, QVariant const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:279: undefined reference to CalibConfigManager::getConfigValue(QString const, QString const, QVariant const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:281: undefined reference to CalibConfigManager::setConfigValue(QString const, QString const, QVariant const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:283: undefined reference to CalibConfigManager::getConfigValues(QString const, QStringList const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:285: undefined reference to CalibConfigManager::setConfigValues(QString const, QMapQString, QVariant const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:287: undefined reference to CalibConfigManager::getConfigKeys(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:289: undefined reference to CalibConfigManager::configExists(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:291: undefined reference to CalibConfigManager::configCount() /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:293: undefined reference to CalibConfigManager::refreshImportList() /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:294: undefined reference to CalibConfigManager::refreshConfigList() /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:295: undefined reference to CalibConfigManager::getConfigFilePath(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:297: undefined reference to CalibConfigManager::getConfigCreateTime(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:299: undefined reference to CalibConfigManager::getConfigModifyTime(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:301: undefined reference to CalibConfigManager::clearAllConfigs() /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:405: undefined reference to CalibConfigManager::configList() const /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:406: undefined reference to CalibConfigManager::importFileList() const /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:407: undefined reference to CalibConfigManager::importFilePath() const /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:408: undefined reference to CalibConfigManager::exportFilePath() const /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:409: undefined reference to CalibConfigManager::configPath() const /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:410: undefined reference to CalibConfigManager::exportPath() const /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:411: undefined reference to CalibConfigManager::currentConfigName() const /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:419: undefined reference to CalibConfigManager::setImportFilePath(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:420: undefined reference to CalibConfigManager::setExportFilePath(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:421: undefined reference to CalibConfigManager::setConfigPath(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:422: undefined reference to CalibConfigManager::setExportPath(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_CalibConfigManager.cpp:423: undefined reference to CalibConfigManager::setCurrentConfigName(QString const) /usr/bin/ld: temp/obj/moc_CalibConfigManager.o:(.data.rel.ro._ZTV18CalibConfigManager[_ZTV18CalibConfigManager]0x28): undefined reference to CalibConfigManager::~CalibConfigManager() /usr/bin/ld: temp/obj/moc_CalibConfigManager.o:(.data.rel.ro._ZTV18CalibConfigManager[_ZTV18CalibConfigManager]0x30): undefined reference to CalibConfigManager::~CalibConfigManager() /usr/bin/ld: temp/obj/moc_configmanager.o: in function ConfigManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**): /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_configmanager.cpp:100: undefined reference to ConfigManager::setVehicleType(QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_configmanager.cpp:101: undefined reference to ConfigManager::getVehicleType() /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_configmanager.cpp:103: undefined reference to ConfigManager::getVehicleImagePath(QString const, QString const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_configmanager.cpp:105: undefined reference to ConfigManager::setValue(QString const, QString const, QVariant const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_configmanager.cpp:106: undefined reference to ConfigManager::getValue(QString const, QString const, QVariant const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_configmanager.cpp:108: undefined reference to ConfigManager::getValue(QString const, QString const, QVariant const) /usr/bin/ld: /data/ty/video_dome/video_demo_ffmpeg/video_demo/temp/moc/moc_configmanager.cpp:110: undefined reference to ConfigManager::getConfigFilePath() const /usr/bin/ld: temp/obj/moc_configmanager.o:(.data.rel.ro._ZTV13ConfigManager[_ZTV13ConfigManager]0x28): undefined reference to ConfigManager::~ConfigManager() /usr/bin/ld: temp/obj/moc_configmanager.o:(.data.rel.ro._ZTV13ConfigManager[_ZTV13ConfigManager]0x30): undefined reference to ConfigManager::~ConfigManager() collect2: error: ld returned 1 exit status make: *** [Makefile:916: ../bin/video_demo] Error 1解决pri里面不能有任何注释pri链接的最后一行一定不能有\INCLUDEPATH $$PWD HEADERS \ $$PWD/CalibConfigManager.h \ $$PWD/configmanager.h SOURCES \ $$PWD/CalibConfigManager.cpp \ $$PWD/configmanager.cpp linux { }