After a busy weekend, snagged the oldest G++ offered by cygwin (7.4.0), the output's basically the same as with VS and newer G++s
xmp-remcon.cpp:49:24: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
static char *dspname = "XMPlay Remote Control";
^~~~~~~~~~~~~~~~~~~~~~~
xmp-remcon.cpp: In function ‘void cmdCurList(std::string&, char*)’:
xmp-remcon.cpp:106:116: error: cannot convert ‘LPDWORD {aka unsigned int*}’ to ‘PDWORD_PTR {aka long long unsigned int*}’ for argument ‘7’ to ‘LRESULT SendMessageTimeoutW(HWND, UINT, WPARAM, LPARAM, UINT, UINT, PDWORD_PTR)’
if (!SendMessageTimeoutW(XMPlayHWND, WM_WA_IPC, 0, IPC_GETLISTLENGTH, SMTO_ABORTIFHUNG, 300, (LPDWORD)&iNumEntries)) return;
^
xmp-remcon.cpp:109:116: error: cannot convert ‘LPDWORD {aka unsigned int*}’ to ‘PDWORD_PTR {aka long long unsigned int*}’ for argument ‘7’ to ‘LRESULT SendMessageTimeoutW(HWND, UINT, WPARAM, LPARAM, UINT, UINT, PDWORD_PTR)’
if (!SendMessageTimeoutW(XMPlayHWND, WM_WA_IPC, i, IPC_GETPLAYLISTFILE, SMTO_ABORTIFHUNG, 300, (LPDWORD)&pcu8File) || !pcu8File) return;
^
xmp-remcon.cpp:110:118: error: cannot convert ‘LPDWORD {aka unsigned int*}’ to ‘PDWORD_PTR {aka long long unsigned int*}’ for argument ‘7’ to ‘LRESULT SendMessageTimeoutW(HWND, UINT, WPARAM, LPARAM, UINT, UINT, PDWORD_PTR)’
if (!SendMessageTimeoutW(XMPlayHWND, WM_WA_IPC, i, IPC_GETPLAYLISTTITLE, SMTO_ABORTIFHUNG, 300, (LPDWORD)&pcu8Title) || !pcu8Title) return;
^
xmp-remcon.cpp: In function ‘DWORD ThreadProc(LPVOID)’:
xmp-remcon.cpp:161:52: error: cannot convert ‘long unsigned int*’ to ‘__ms_u_long* {aka unsigned int*}’ for argument ‘3’ to ‘int ioctlsocket(SOCKET, int, __ms_u_long*)’
ioctlsocket(AcceptSocket, ul, (unsigned long*)&ul);
^
xmp-remcon.cpp: In function ‘void ReadXMPLibrary()’:
xmp-remcon.cpp:200:16: error: ‘_wfopen’ was not declared in this scope
FILE *pfLib = _wfopen(wcXMPlayLib, L"rb");
^~~~~~~
xmp-remcon.cpp:200:16: note: suggested alternative: ‘fopen’
FILE *pfLib = _wfopen(wcXMPlayLib, L"rb");
^~~~~~~
fopen
xmp-remcon.cpp:203:15: error: aggregate ‘ReadXMPLibrary()::_stat st’ has incomplete type and cannot be defined
struct _stat st;
^~
xmp-remcon.cpp:204:2: error: ‘_fstat’ was not declared in this scope
_fstat(fileno(pfLib), &st);
^~~~~~
xmp-remcon.cpp:204:2: note: suggested alternative: ‘_stat’
_fstat(fileno(pfLib), &st);
^~~~~~
_stat
What am I dumbing on and why am I seemingly the only person in the world who can't get this to work? :\
I mean, it would be trivial for you to push a dll out for me with queues instead of direct playbacks. But would be nice if I could update it myself if stuff like a command to dde a list the queued songs (like the playlist view works?) in the future :/