warning: passing argument 1 of 'LoadLibraryA' from incompatible pointer type [enabled by default]
note: expected 'LPCSTR' but argument is of type 'short unsigned int *'
LoadLibraryA means you're compiling as ASCII and not unicode. Hence strings should be specified as ASCII and not unicode (eg no L in front).
Many WIN32 functions have 2 versions those ending in A (ASCII) and those ending in W (WIDE - unicode). For those without an ending A/W that support either ASCII/Unicode then which is sued depends upon whether UNICODE/_UNICODE is defined or not. Same with T in the type. LPCSTR is ASCII, LPWSTR is unicode but LPTSTR is either depending upon whether compiling as ASCII or Unicode.
If you want to explicitly use a ASCII or Unicode version of a WIN32 function, then use the A or W version. ie LoadLibraryW(L"unicodefilename");