Почему ошибка LNK2019 все еще существует после того, как я сделал статическую библиотеку таким же образом, как это было описано в msdn? - PullRequest
0 голосов
/ 11 сентября 2018

Итак, я сделал простую статическую библиотеку LogCon с таким кодом в LogCon.cpp:

#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;
}

Ранее добавив и связав эту библиотеку с проектом, установите главное консольное приложение в качестве проекта автозагрузки. Пытался скомпилировать все, но получил это:

2> MyLogCon.obj: ошибка LNK2019: неразрешенный внешний символ "public: static bool __cdecl LogCon :: MyLogCon :: NOT (bool) " (? NOT @ MyLogCon @ LogCon @@ SA_N_N @ Z) ссылка на функцию _main

2> C: \ DM \ LogCon \ Debug \ MyLogCon.exe: фатальная ошибка LNK1120: 1 не устранена * 1015 внешние *

Я нашел пару вопросов, в которых была почти та же проблема в stackoverflow, но ни один ответ не помог мне, поэтому я просто не знаю, что на самом деле произошло, пожалуйста, покажите мне проблему в коде, почему я получил эту ошибку ..

...