Qt - LNK2019 在类的成员函数中使用命名空间的函数时

炖牛肉汤

我有一个包含函数声明的命名空间Project\test\compare_structs.h

#ifndef COMPARE_STRUCTS_H
#define COMPARE_STRUCTS_H

#include <QtTest/QtTest>
#include "include/Utils/containers.h"

namespace compare_structs {
    void compareRawData(RAW_DATA actual, RAW_DATA expected);
    ...
}

#endif // COMPARE_STRUCTS_H

我在里面定义了函数Project\test\compare_structs.cpp

#include "compare_structs.h"

void compare_structs::compareRawData(RAW_DATA actual, RAW_DATA expected)
{
    ...
}

我还将.h.cpp文件添加到 Qts.pro文件中:

test {
HEADERS +=  ...
            test/sql_db_test.h \
            test/compare_structs.h \

SOURCES +=  ...
            test/sql_db_test.cpp \
            test/compare_structs.cpp \
}

现在,我#includecompare_structs.h一类.h,并调用它的内部.cpp文件:

Project\test\sql_db_test.h

#ifndef SQL_DB_TEST_H
#define SQL_DB_TEST_H

...
#include "test/compare_structs.h"

class Sql_DB_Test : public QObject
{
    ...

private slots:
    ...
    void add_get_raw_data_test();
    ...
};

#endif // SQL_DB_TEST_H

Project\main\test\sql_db_test.cpp

#include "sql_db_test.h"

void Sql_DB_Test::add_get_raw_data_test()
{
    ...
    compare_structs::compareRawData(rawBack, raw); //LNK2019
}

错误信息:

sql_db_test.obj:-1: Fehler: LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl compare_structs::compareRawData(struct RAW_DATA,struct RAW_DATA)" (?compareRawData@compare_structs@@YAXURAW_DATA@@0@Z)" in Funktion ""private: void __thiscall Sql_DB_Test::add_get_raw_data_test(void)" (?add_get_raw_data_test@Sql_DB_Test@@AAEXXZ)".

免费翻译:unresolved externel symbol ""void __cdecl compare_structs::compareRawData(struct RAW_DATA,struct RAW_DATA)" (?compareRawData@compare_structs@@YAXURAW_DATA@@0@Z)" in function ""private: void __thiscall Sql_DB_Test::add_get_raw_data_test(void)" (?add_get_raw_data_test@Sql_DB_Test@@AAEXXZ)".

导致链接器错误的原因是什么?

塞尔比

这听起来与每次我向 Qt 项目添加新文件时发生的情况完全一样。Qt Creator 对重建自己的 makefile 的需要感到困惑。

如果 Qt Creator 菜单中完整的“全部清除”后跟“全部重建”不起作用,则只需转到项目所在的父文件夹并删除与build-...项目对应文件夹。

然后再次“全部清除”和“全部重建”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试在Qt中获取自定义窗口框架时出现LNK2019问题

来自分类Dev

尝试在Qt中获取自定义窗口框架时出现LNK2019问题

来自分类Dev

Qt C ++ LNK2019:使用QNetworkAccessManager的未解析外部符号

来自分类Dev

LNK2019编译.cpp时出错

来自分类Dev

Qt未解析的外部符号LNK2019

来自分类Dev

错误:LNK2019:Qt中无法解析的外部符号

来自分类Dev

主函数C函数错误LNK2019

来自分类Dev

标头中的类的Struct函数声明和cpp中的定义。在单独的库中使用函数时的lnk2019

来自分类Dev

具有QGraphicsView子类的构造函数上的LNK2019

来自分类Dev

错误LNK2019:无法解析的外部符号:: FindWindow()函数

来自分类Dev

LNK2019:从CPP代码调用C函数

来自分类Dev

当在静态方法中使用函数时,LNK2019无法解析的外部出现

来自分类Dev

类模板中的好友功能和错误LNK2019

来自分类Dev

从模板派生时出现LNK2019错误

来自分类Dev

编译OpenCL文件时出现许多LNK2019错误

来自分类Dev

LNK2019:函数___tmainCRTStartup中使用DLL引用的未解析的外部符号_main

来自分类Dev

错误LNK2019:Qt平台中未解决的外部符号C ++

来自分类Dev

使用其他包含目录时发生错误LNK2019 +致命错误LNK1120

来自分类Dev

使用defalt args时在函数_main中引用的错误LNK2019无法解析的外部符号

来自分类Dev

Qt错误:LNK1120:1个未解决的外部main.obj:-1:错误:LNK2019运行Qmake

来自分类Dev

即使使用简单的代码也可以获得LNK2019和LNK1120

来自分类Dev

LNK2019(VS 2008)使用模板函数指针完全实现了模板函数

来自分类Dev

使用 C++ Dll 的 LNK2019 构造函数/析构函数

来自分类Dev

如何解决错误LNK2019:无法解析的外部符号-函数?

来自分类Dev

错误LNK2019:函数main中引用了无法解析的外部符号

来自分类Dev

C ++:错误LNK2019:函数中引用的未解析的外部符号__snprintf

来自分类Dev

C ++:错误LNK2019:函数_main中引用的未解析的外部符号

来自分类Dev

错误21错误LNK2019:无法解析的外部符号:....在函数:...中引用。

来自分类Dev

错误LNK2019:函数___tmainCRTStartup中引用了无法解析的外部符号_wWinMain @ 16

Related 相关文章

  1. 1

    尝试在Qt中获取自定义窗口框架时出现LNK2019问题

  2. 2

    尝试在Qt中获取自定义窗口框架时出现LNK2019问题

  3. 3

    Qt C ++ LNK2019:使用QNetworkAccessManager的未解析外部符号

  4. 4

    LNK2019编译.cpp时出错

  5. 5

    Qt未解析的外部符号LNK2019

  6. 6

    错误:LNK2019:Qt中无法解析的外部符号

  7. 7

    主函数C函数错误LNK2019

  8. 8

    标头中的类的Struct函数声明和cpp中的定义。在单独的库中使用函数时的lnk2019

  9. 9

    具有QGraphicsView子类的构造函数上的LNK2019

  10. 10

    错误LNK2019:无法解析的外部符号:: FindWindow()函数

  11. 11

    LNK2019:从CPP代码调用C函数

  12. 12

    当在静态方法中使用函数时,LNK2019无法解析的外部出现

  13. 13

    类模板中的好友功能和错误LNK2019

  14. 14

    从模板派生时出现LNK2019错误

  15. 15

    编译OpenCL文件时出现许多LNK2019错误

  16. 16

    LNK2019:函数___tmainCRTStartup中使用DLL引用的未解析的外部符号_main

  17. 17

    错误LNK2019:Qt平台中未解决的外部符号C ++

  18. 18

    使用其他包含目录时发生错误LNK2019 +致命错误LNK1120

  19. 19

    使用defalt args时在函数_main中引用的错误LNK2019无法解析的外部符号

  20. 20

    Qt错误:LNK1120:1个未解决的外部main.obj:-1:错误:LNK2019运行Qmake

  21. 21

    即使使用简单的代码也可以获得LNK2019和LNK1120

  22. 22

    LNK2019(VS 2008)使用模板函数指针完全实现了模板函数

  23. 23

    使用 C++ Dll 的 LNK2019 构造函数/析构函数

  24. 24

    如何解决错误LNK2019:无法解析的外部符号-函数?

  25. 25

    错误LNK2019:函数main中引用了无法解析的外部符号

  26. 26

    C ++:错误LNK2019:函数中引用的未解析的外部符号__snprintf

  27. 27

    C ++:错误LNK2019:函数_main中引用的未解析的外部符号

  28. 28

    错误21错误LNK2019:无法解析的外部符号:....在函数:...中引用。

  29. 29

    错误LNK2019:函数___tmainCRTStartup中引用了无法解析的外部符号_wWinMain @ 16

热门标签

归档