SyntaxBomb - Indie Coders
Languages & Coding => BlitzMax / BlitzMax NG => Topic started by: Midimaster on June 29, 2021, 10:51:06
I actually transfer education software from BlitzMax 1.51 to BlitzMax NG.
I nearly had no problems, but one function looks like working no more:
?Win32
Extern "win32"
Function GetVersion:Int()
End Extern
?
.....
Function DiesesOs%()
?MacOs
Return 0
?Win32
Return (GetVersion() & $f)*10 + ((GetVersion() Shr 8) & $f)
?
End Function
?
Error Message is:
In file included from C:/BasicNG/LernProgramme/Auris/.bmx/Auris.bmx.gui.debug.win32.x64.c:1:
C:/BasicNG/LernProgramme/Auris/.bmx/Auris.bmx.gui.debug.win32.x64.h:1080:25: error: conflicting types for 'GetVersion'
extern BBINT __stdcall GetVersion();
^~~~~~~~~~
In file included from C:/BlitzMaxNG/MinGW32x64/x86_64-w64-mingw32/include/winbase.h:36,
from C:/BlitzMaxNG/MinGW32x64/x86_64-w64-mingw32/include/windows.h:70,
from C:/BlitzMaxNG/mod/brl.mod/blitz.mod/blitz_thread.h:11,
from C:/BlitzMaxNG/mod/brl.mod/blitz.mod/blitz.h:28,
from C:/BlitzMaxNG/mod/brl.mod/blitz.mod/.bmx/blitz.bmx.debug.win32.x64.h:4,
from C:/BasicNG/LernProgramme/Auris/.bmx/Auris.bmx.gui.debug.win32.x64.h:4,
from C:/BasicNG/LernProgramme/Auris/.bmx/Auris.bmx.gui.debug.win32.x64.c:1:
C:/BlitzMaxNG/MinGW32x64/x86_64-w64-mingw32/include/sysinfoapi.h:47:27: note: previous declaration of 'GetVersion' was here
WINBASEAPI DWORD WINAPI GetVersion (VOID);
^~~~~~~~~~
Build Error: failed to compile (1) C:/BasicNG/LernProgramme/Auris/.bmx/Auris.bmx.gui.debug.win32.x64.c
Can somebody please explain, what happened?
There is already a GetVersion() defined and you try to redefine it.
you need to "redefine" it more properly now.
untested:
?Win32
Extern "win32"
'original definition: WINBASEAPI DWORD WINAPI GetVersion (VOID);
Function GetVersion:Int()="DWORD GetVersion()!"
End Extern
?
WINBASEAPI and WINAPI should be left out - return value, function name and params would be what has to be written in the quotation marks. The "!" exclamation mark makes it "more important" :)
bye
Ron
Thanks a lot Derron!
I do not understand your solution, but it works.