Не удалось скомпилировать отдельные файлы в Visual Studio (.h, .cpp и main.cpp). (ОШИБКА: LNK 2001 LNK 2019)

Я пытаюсь создать программу, которая содержит эти файлы: main.cpp, authenticate.cpp и authenticate.h (все они в исходных файлах) с использованием Visual Studio 2017. Программа просто проверяет ввод имени пользователя и пароля. Суть в том, чтобы работать с безымянным пространством имен.

authenticate.h

#include<iostream>
#include<string>



#ifndef AUTHENTICATE_H
#define AUTHENTICATE_H
namespace authenticate {
    void inputUserName();
    void inputPassword();
    std::string getUserName();
    std::string getPassword();
}
#endif // !AUTHENTICATE_H

authenticate.cpp

#include<iostream>
#include<string>
#include"authenticate.h"




namespace { // practice using unnamed namespace.
    std::string username;
    std::string password;
    bool nameValid() { // check if 8 letters were entered
        bool allLetter = true;
        for (unsigned int x = 0; x < password.size(); x++) if (isalpha(password[x])) {
            allLetter = false;
            break;
        }
        return(username.size() == 8 && allLetter);
    }
    bool passValid() {// check if 8 characters including at least 1 non-letter were entered
        bool allLetter = true;
        for (unsigned int x = 0; x < password.size(); x++) if (isalpha(password[x])) {
                allLetter = false;
                break;
            }
        return((password.size() == 8) && !allLetter);
    }
}

main.cpp

#include<iostream>
#include"authenticate.h"



int main()
{
    authenticate::inputUserName();
    authenticate::inputPassword();
        std::cout << "Your username is " 
            << authenticate::getUserName()
            <<" and your password is: " 
            <<authenticate::getPassword() << std::endl;
        return 0;

}

Прежде чем столкнуться с этими ошибками, я следовал предыдущим инструкциям и установил точку входа в main.cpp, а подсистему - в CONSOLE. Когда я компилировал каждый файл, ошибки не было. Ошибка возникает при сборке программы. Все они LNK 2001 и LNK 2019.

**Error**   LNK2001 unresolved external symbol _main.cpp


(Нажмите на изображение, чтобы увеличить)

Я предполагаю, что я допустил ошибку в соглашении, так как программа не смогла запуститься.

0 ответов

Другие вопросы по тегам