为什么以msdn中描述的相同方式执行静态库后LNK2019错误仍然存​​在?

时间:2018-09-11 15:06:49

标签: c++ static external lnk2019

因此,我使用LogCon.cpp中的此类代码制作了简单的静态库LogCon:

#include "LogCon.h"
namespace LogCon
{
        static bool NOT(bool a)
        {
        return !a;
        }
}

和LogCon.h:

namespace LogCon 
{
class MyLogCon
{
public:
        static bool NOT(bool a);
};
}

它编译良好,所以我决定为此MyLogCon.cpp制作控制台应用程序:

#include "LogCon.h"
#include <iostream>
using namespace std;

int main()
{   
    bool a=true;
    cout << LogCon::MyLogCon::NOT(a);
    return 0;
}

先前已添加此库并将其链接到项目,请将主控制台应用程序设置为StartUp项目。试图编译一切,但得到了:

  

2> MyLogCon.obj:错误LNK2019:未解析的外部符号“ public:   静态布尔__cdecl LogCon :: MyLogCon :: NOT(bool)”   函数_main中引用的(?NOT @ MyLogCon @ LogCon @@ SA_N_N @ Z)

     

2> C:\ DM \ LogCon \ Debug \ MyLogCon.exe:致命错误LNK1120:1未解决   外部

我发现了几个问题,在stackoverflow上几乎是相同的问题,但是没有一个答案对我有帮助,所以我只是不知道实际发生了什么,请向我显示代码中为什么出现此错误的问题。 / p>

0 个答案:

没有答案