LNK 2019在向解决方案添加新类时

时间:2014-08-12 13:42:26

标签: c++ visual-studio macros

我有一个名为DBGPRINT的调试宏,我通过点击我感兴趣的项目>>为我的解决方案添加了一个新类(包括.cpp和.h文件)。添加新项>>将我的代码复制到该文件中,我包含了标题,当宏DBGPRINT看起来像这样时,它都正确编译没有问题:

    #include <My_class_full_path.h>

    static char str[256];


     #define DBGPRINT(...) { sprintf_s(str, 190, "P:%08X  ",      GetCurrentThreadId() );  sprintf_s(str+11, (2048 - 11), __VA_ARGS__);  OutputDebugStringA(str)}

我的班级在My_class_full_path.H标题中。这个类实际上是一个singelton,我想在DBGPPRINT宏中调用它的实例,所以当我这样做时:

   #define DBGPRINT(...)         { sprintf_s(tempStingFordebug+11, (256 - 11), __VA_ARGS__);  my_class::getInstance(); OutputDebugStringA(tempStingFordebug)}

我收到很多LNK2019错误:

   Error    1   error LNK2001: unresolved external symbol ...

3个点是我解决方案中其他项目的函数名称。

带有DBGPRINT函数的文件几乎包含在我的解决方案中的每个源文件中。

我在互联网上看到了在链接器中包含内容的解决方案,但它是我创建的一个简单的头文件,所以我不明白什么似乎是问题......

编辑: 问题已解决:使用__declspec(dllimport)和__declspec(dllexport)将我的类导出到其他DLL

0 个答案:

没有答案