Ошибка LNK 2001

Я уже пол дня не могу решить эту проблему Помогите пожалуйста

1>main.obj : error LNK2001: неразрешенный внешний символ "public: unsigned int __thiscall Memory::getModule(unsigned long,char const *)" (?getModule@Memory@@QAEIKPBD@Z).
1>main.obj : error LNK2001: неразрешенный внешний символ "public: unsigned long __thiscall Memory::getProcess(char const *)" (?getProcess@Memory@@QAEKPBD@Z).
1>main.obj : error LNK2001: неразрешенный внешний символ "public: __thiscall Memory::~Memory(void)" (??1Memory@@QAE@XZ).
1>main.obj : error LNK2001: неразрешенный внешний символ "public: __thiscall Memory::Memory(void)" (??0Memory@@QAE@XZ).
1>fatal error LNK1120: неразрешенных внешних элементов: 4
// Memory.h

#pragma once
#include "include.h"

class Memory
{
public:
    Memory();
    ~Memory();
    template <class val>
    val readMem(DWORD addr)
    {
        val x;
        ReadProcessMemory(handle, (LPBYTE*)addr, &x, sizeof(x), NULL);
        return x;
    }
    template <class val>
    val writeMem(DWORD addr, val x)
    {
        WriteProcessMemory(handle, (LPBYTE*)addr, &x, sizeof(x), NULL);
        return 0;
    }
    DWORD getProcess(const char*);
    uintptr_t getModule(DWORD, const char*);
    DWORD getAddress(DWORD, std::vector<DWORD>);
    HANDLE handle;
};
// Memory.cpp

#include "Memory.h"
#include "include.h"


Memory::Memory()
{
    handle = NULL;
}

Memory::~Memory()
{
    CloseHandle(handle);
}

DWORD Memory::getProcess(const char* proc)
{
    HANDLE hProcessId = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    DWORD process;
    PROCESSENTRY32 pEntry;
    pEntry.dwSize = sizeof(pEntry);

    do
    {
        if (!strcmp(pEntry.szExeFile, proc))
        {
            process = pEntry.th32ProcessID;
            CloseHandle(hProcessId);
            handle = OpenProcess(PROCESS_ALL_ACCESS, false, process);
        }

    } while (Process32Next(hProcessId, &pEntry));
    return process;
}

uintptr_t Memory::getModule(DWORD procId, const char* modName)
{
    HANDLE hModule = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, procId);
    MODULEENTRY32 mEntry;
    mEntry.dwSize = sizeof(mEntry);

    do
    {
        if (!strcmp(mEntry.szModule, modName))
        {
            CloseHandle(hModule);
            return (DWORD)mEntry.hModule;
        }
    } while (Module32Next(hModule, &mEntry));
    return 0;
}

DWORD Memory::getAddress(DWORD addr, std::vector<DWORD> vect)
{
    for (unsigned int i = 0; i < vect.size(); i++)
    {
        ReadProcessMemory(handle, (BYTE*)addr, &addr, sizeof(addr), 0);
        addr += vect[i];
    }
    return addr;
}
// include.h

#include <iostream>
#include <Windows.h>
#include <vector>
#include <TlHelp32.h>
#include "offsets.hpp"

Ответы (0 шт):