简单的Qt C ++应用程序中的链接器错误

时间:2016-12-09 21:47:28

标签: c++ qt linker linker-errors

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

  

main.obj:-1:erreur:LNK2019:未解析的外部符号   “class QUuid __cdecl uuid :: fromString(class QString const&)”   (?fromString @ uuid @@ YA?AVQUuid @@ ABVQString @@@ Z)在函数_main

中引用

其他文件编译得很好但不知何故这两个(uuid.h / uuid.cpp)有这个错误。

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

  

开始:“C:\ Qt \ Tools \ 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();
}

1 个答案:

答案 0 :(得分:1)

删除构建文件夹,特别是make文件,修复了该问题。从Qt Creator运行Clean命令是不够的。