On 6 August 2018 at 11:50, Ben Coman <b...@openinworld.com> wrote: > wow time flies, its been 18 months since Ronie announced his > Minheadless VM branch... > [1] http://forum.world.st/Minheadless-VM-flavour-status-update-td4928091.html
In Visual Studio... > (with x64-Debug & pharo.exe selected) > I went Cmake > Build All > ==> 10 Errors, 9 Warnings, which I'll discuss in a followup post. and btw, the build finishes too quick Here are the errors... ------------------------ https://github.com/ronsaldo/opensmalltalk-vm/blob/be7b1c03/platforms/minheadless/windows/sqPlatformSpecific-Win32.c#L80 typedef HRESULT WINAPI (*SetProcessDpiAwarenessFunctionPointer) (int awareness); C2059 sqPlatformSpecific-Win32.c:80 syntax error: '(' E0651 a calling convention may not be followed by a nested declarator. The following change reduces build errors to 1... typedef HRESULT (*SetProcessDpiAwarenessFunctionPointer) (int awareness); but I'm not sure of the implications. Could be "the parenthesis around the function name" [2] Or "there's already a C standard function [of that name]" [3] The Microsoft definition returns a BOOL [4]. [2] https://software.intel.com/en-us/forums/intel-c-compiler/topic/385282 [3] https://social.msdn.microsoft.com/Forums/vstudio/en-US/2c57ada8-e1c9-4030-a058-6a7afd2fd29f/a-calling-convention-may-not-be-followed-by-a-nested-declarator?forum=vcgeneral [4] https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setprocessdpiawarenesscontext ------------------------ https://github.com/ronsaldo/opensmalltalk-vm/blob/be7b1c03/platforms/minheadless/common/sqWindow-Dispatch.c#L68 sqInt ioSetCursorARGB(sqInt cursorBitsIndex, sqInt extentX, sqInt extentY, sqInt offsetX, sqInt offsetY) C2371 'ioSetCursorARGB': redefinition; different basic types where sqInt is "long long". but the function declaration is https://github.com/ronsaldo/opensmalltalk-vm/blob/21cc02b6bf/platforms/minheadless/windows/sqPlatformSpecific-Win32.h#L117 int ioSetCursorARGB(sqInt bitsIndex, sqInt w, sqInt h, sqInt x, sqInt y); After modifying that function declaration to return 'sqInt', "Cmake > Build all" runs much longer ------------------------ and ends up with 4 link errors (and 6600 warnings) Pharo.exe LNK1120 - 1 unresolved external Pharow.exe LNK1120 - 1unresolved external sqMain.c.obj LNK2019 - unresolved external symbol _imp_osvm_main referenced in function main sqWin32Main.c.obj LNK2019 - unresolved external symbol _imp_osvm_main referenced in function WinMain I do see osvm_main is defined here... https://github.com/ronsaldo/opensmalltalk-vm/blob/be7b1c03/platforms/minheadless/common/sqVirtualMachineInterface.c#L618 but I'm stuck, I don't understand why its looking for "_imp_osvm_main" I'd be glad if anyone can advise on this, and the two errors above. cheers -ben