OK get it working

Code:
#include <windows.h>
#include <tlhelp32.h>
#include <iostream>	
#include <string>
#include "psapi.h"

DWORD GetProcessByFileName(char* name){
    DWORD process_id_array[1024];
    DWORD bytes_returned;
    DWORD num_processes;
    HANDLE hProcess;
    char image_name[256];
    char buffer[256];
	int i;
    DWORD exitcode;
    EnumProcesses(process_id_array, 256*sizeof(DWORD), &bytes_returned);
    num_processes = (bytes_returned/sizeof(DWORD));
    for (i = 0; i < num_processes; i++) {
        hProcess=OpenProcess(PROCESS_ALL_ACCESS,TRUE,process_id_array[i]);
        if(GetModuleBaseName(hProcess,0,image_name,256)){
            if(!stricmp(image_name,name)){
                CloseHandle(hProcess);
                return process_id_array[i];
            }
        }
        CloseHandle(hProcess);
    }
    return 0;
}
void __cdecl main(int argc, char *argv[])
{
	DWORD dwPID;
	dwPID = GetProcessByFileName("calc.exe");
	printf("%lu", (unsigned long)dwPID);
	return;
}
But only for Debug compilation not for release. When I use release I get these linker errors:

processid error LNK2019: unresolved external symbol _GetModuleBaseNameA@16 referenced in function "unsigned long __cdecl GetProcessByFileName(char *)" (?GetProcessByFileName@@YAKPAD@Z)

processid error LNK2019: unresolved external symbol _EnumProcesses@12 referenced in function "unsigned long __cdecl GetProcessByFileName(char *)" (?GetProcessByFileName@@YAKPAD@Z)

Why?