On 6 August 2018 at 11:50, Ben Coman btc@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/minhead... 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-a0... [4] https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setp...
------------------------ https://github.com/ronsaldo/opensmalltalk-vm/blob/be7b1c03/platforms/minhead... 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/minhe... 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/minhead...
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