链接器错误在简单的QT C 应用程序中

Linker error in simple Qt C++ application

本文关键字:QT 应用程序 简单 错误 链接      更新时间:2023-10-16

我正在尝试在qt c 中编译一些相对简单的代码,但是我会收到以下链接器错误,但无法弄清楚问题是什么。

main.obj:-1:erreur:lnk2019:未解决的外部符号 "类quuid __cdecl uuid :: fromString(QString const&)" (?来自sstring@uuid @@ ya?avquuid @@ abvqstring @@@ z)在功能中引用_main

其他文件可以很好地编译,但以某种方式(uuid.h/uuid.cpp)有此错误。

也是相关的,如果我在QT编辑器中右键单击" uuid.cpp"并选择" compile",我会收到此错误,这也不会发生其他CPP文件:

开始:" c: qt 工具 qtcreator bin jom.exe" -f makefile.debug debug/uuid.obj 错误:目标debug/uuid.obj不存在。

知道问题可能是什么?

uuid.h

#ifndef UUID_H
#define UUID_H
#include <stable.h>

namespace uuid {
QUuid fromString(const QString& s);
}
#endif // UUID_H

uuid.cpp

#include <stable.h>
#include "uuid.h"
namespace uuid {
QUuid fromString(const QString& s) {
    // ....
}
}

main.cpp

#include <stable.h>
#include "uuid.h"
int main(int argc, char *argv[]) {
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QGuiApplication app(argc, argv);
    QUuid test = uuid::fromString("f601c97e494a46a7b393bb0366e679a1");
    return app.exec();
}

删除构建文件夹,尤其是制造文件,修复了问题。从QT创建者中运行干净命令是不够的。