Hi all,
I'm a new user of BBCSL, i see it's a very interesting language.
I need help on a question : Can i compiling a .DMG program (for mac) under window from a .BBC source ?
I program under Window but i have a friend who working on Mac and i want to share some program in future (for the moment i learn how BBCSDL Basic work and what can i do, I have the impression that this language is quite powerful).
I looked on this forum for a response but i dont found... I'm French and My level of English is very poor and that doesn't help me much.
Thank's for your help.
Compiling a DMG (for mac) under window ?
Re: Compiling a DMG (for mac) under window ?
Unfortunately you can only create an Application Bundle for the platform on which BBCSDL is running. So for example if it is running in Windows you can create a .exe file and if running in MacOS you can create a .dmg file, but you cannot create a .dmg file in Windows or a .exe file in MacOS.
The technical reason for this is that building an application bundle relies on features provided by the Operating System. For example building a .exe file requires calling the UpdateResource Windows API function and building a .dmg file requires calling the hdiutil MacOS API function.
However in practice you will always want to test your program on the target platform. Although BBCSDL's cross=platform credentials are good you cannot guarantee 100% that if a program runs in Windows it will also run in MacOS, or vice-versa. For example there are differences in the filesystem: Windows will accept the backslash character (\) as a directory delimiter whereas MacOS will only accept the forward slash (/).
I purchased a relatively cheap Mac Mini to allow me to test programs on the Mac and build .dmg files. Similarly I have a dual-boot PC which allows me to run Windows or Linux, so I can test programs and build application bundles for both those Operating Systems.
-
- Posts: 2
- Joined: Thu 19 Oct 2023, 08:30
Re: Compiling a DMG (for mac) under window ?
Thank you for this quick response and your very complete explanations.
I understand why this is not possible.
I'm going to try with a virtualbox under Linux.
I wish you a good day.
I understand why this is not possible.
I'm going to try with a virtualbox under Linux.
I wish you a good day.