Blitzmax NG Installation Tutorial?

Started by Krischan, February 28, 2018, 21:21:09

Previous topic - Next topic

degac

I put online the BCC and BMK compiled and ready to be placed on the BIN folder of BlitzMaxNG
Source code: 04 march 2018
Compiled on Vanilla, MultiThreading (so it should be faster)
The zip file contains BMK.exe, BCC.exe, make.bmk, core.bmk and a .txt file

http://www.blitzmax.net/download/tools/BlitzMaxNG-bcc-bmk-04032018-mt.zip


If there's a problem, there's at least one solution.
www.blitzmax.org

fielder

#16
very thank you Degac!!!

do you have any idea about adding an icon on 64 bit windows build?

usually i use this: windres -i resource.rc -o Generico.o -v

with the resource.rc:


101 ICON "generica.ico"

1 VERSIONINFO
FILEVERSION 18,0,0,0
PRODUCTVERSION 18,0,0,0
FILEOS 0x40004
FILETYPE 0x1
{
BLOCK "StringFileInfo"
{
BLOCK "040904b0"
{
  VALUE "Comments", "Official support: xxxxxxxxx"
  VALUE "CompanyName", "Centro test"
  VALUE "FileVersion", "28.xx"
  VALUE "FileDescription", "Test-sviluppo generico main application"
  VALUE "InternalName", "test-sviluppo-generico"
  VALUE "LegalCopyright", "Centro test" 
  VALUE "OriginalFilename", "TestSviluppo.exe"
  VALUE "ProductName", "Test-Sviluppo generico"
  VALUE "ProductVersion", "28.xx"
}
}
BLOCK "VarFileInfo"
{
  VALUE "Translation", 0x0409, 0
}
}


this works fine on Win32 builds. (default compiler)


?Win32
Import brl.d3d9max2d
Import brl.directsoundaudio
Import "generico.o"
?


[EDIT]
a tried a lot.. and i found that it's possible to add icon using:
x86_64-7.2.0-release-posix-sjlj-rt_v5-rev0.7z (MinGW64 placed on Root ... and changed PATH on variables)
after that to create the .o using this:

windres resource.rc -o generico.o

[/EDIT]


_PJ_

Honestly, I've given up even trying to use any modules that aren't vanilla.

There are so many errors and problems associated with trying that I get so confused.

It's certainly not Brucey or any inndividuals' fault, those module creators have worked extremleyy hard and clearly these modules work and install well for plenty of other users.

The problem mainly resides with me:
my lack of understanding of terms such as "mingw" or what on earth are manifests / how they work as well as other programmer jargon makes a lot of the discussions around addressing issues a little inaccessible to me.
Overall though, my fear of breaking the BMax installation I have that works and source created within this is paramount.

Should there be some means to "simply" download and execute an installer that would incorporate what was necessary (perhaps with option checkboxes?)  to reliably result in useable environemtn would be extremely helpful, but I also appreciate the challenge in providing such, given that there are many modules of varying relevance to various projects and of which some may not be compatible with others.

col

#18
Quotemy lack of understanding of terms such as "mingw" or what on earth are manifests / how they work as well as other programmer jargon makes a lot of the discussions around addressing issues a little inaccessible to me.

Don't be to shy to ask questions about these things... not one single programmer in the world knew what these were at some stage in their life. Google is a pretty good place to start as there is so much wealth of information available that its overwhelming. Some information will be complicated and introduce new areas that you may never have heard of... Google those too and keep going until you have at least an understanding of what they are. Manifest files: you don't really need to know 'how' they work, you just need to understand the purpose of them - when you have a problem is when you can then google for information to see if adjustments in them could help resolve the issue that you're having.

For me personally, I'd describe my world of computing to be a 'practise', in the same way that a doctor or GP ( General Practitioner ) is 'practising' medicine ( swap medicine for IT ). I'm ALWAYS learning and I too feel that I know very little compared to what is available. Over time, and with a lot of practise and effort, you will become proficient and skilled enough to take on more and more complicated tasks that you may have deemed way beyond your abilities when you first attempted or even looked at them; tasks that seem very simple and straight forward for others but difficult for you will become simple and straight forward for you too.

The greatest experiences you'll gain are from doing things. For sure you'll get some things wrong, but with time you'll learn how to put them right, and quickly. The modules that you speak of would have taken many hours/days/weeks to get right - they would have all been 'wrong and broken' during development but you won't get to see that part as you end up seeing the shiny finished product, and not the blood, sweat, 'tears' of frustration that made it all happen. Oh yeah... handling frustration is a key skill to develop in order to stay calm and not give up with computers altogether!

If computing/programming is what you have an interest in then hang in there and don't give up, allow yourself the time to learn ( we all learn at different speeds ). Above all... keep 'practising' and have fun doing it! :)
https://github.com/davecamp

"When you observe the world through social media, you lose your faith in it."

col

#19
Quotemy lack of understanding of terms such as "mingw"

First off... there are many many operating systems available for your PC, and many versions of those operating systems too, this adds up to hundreds ( possibly thousands ) of various operating systems and versions that you can choose to use - you don't HAVE to use anything from Microsoft at all but you'll find that about 97% of the worlds software is created to run a Windows operating system. However remember that the world of IT is ridiculously huge so although it would seem MS has the lions share it still leaves a massive amount of software written for the other OSs ( for all manner of justifiable reasons - Windows and Microsoft are NOT the be-all and end-all of available computing ). This is all before we start talking about 'non-pc' environments which will use a variety of just as many different cpus from different manufacturers which will have just as many different configurations available. Windows works on just the x86 ( Intel designed ) and x64 ( AMD designed ) variety of processors from AMD and Intel. There is another version of Windows called WindowsRT, you could look it up for specs :). Other OSs will be designed/created to work with completely different CPUs altogether - it depends on the end purpose.

Anyway... to create software for those other systems/cpus there is a set of tools ( but not the only set of tools available! ) for compiling source code into executable code called the GNU Compiler Collection https://gcc.gnu.org/. That set of tools are very good at what they do but there was a time when they weren't available for Windows. Over time that compiler was ported to Windows and called 'MinGW' which stands for 'Minimalist GNU for Windows' http://www.mingw.org/. You'll find many tools get 'ported' to Windows and this is just one of them.

Hope it helps :)
https://github.com/davecamp

"When you observe the world through social media, you lose your faith in it."

Steve Elliott

Well said (and quite inspiring) col, computing can be very frustrating at times, you just need the patience to persevere and succeed.
Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb

_PJ_

So, due to some issues with hardware and Windows updates, I had to restore an image of my PC from over a year ago which affectedmy Bilitmax installaiton.

Undfortunately I'd forgotten all the painful difficulty I had with trying to go from the BlitzMax 'freebie' version to an NG version supporting compilation for 64-bit Windows platform ( Please note I have no interest in supporting Linux, MacOS or Android etc. so  I don't want to be confused with MinGW stuff that wont be necessary. I also will not need to compiel anything for 32-bit systems either. ONLY 64-bit Windows platforms are important to me, so any extra efforts required to sepcifically include other systems/platfrms can be disregarded) I was not entirely confident in what I was doing at the time, but it eventually worked.

Now I need to do it again, but because I wasn't entirely sure what I did, and my memory isn't fantastic - I was hoping someone may be able to provide an "idiot's guide" step-by-step tutorial?






Derron

Download : https://blitzmax.org/downloads/
Extract
Execute MaxIDE
Create a New File
Code (Blitzmax) Select

SuperStrict
Framework Brl.StandardIO

Print "Hello World"

(optionally: save the file)
Build and Run.


Edit:
If you had installed MaxIDE (vanilla) AND MinGW prior - clean up properly (remove MinGW, remove path stuff - albeit all of this should not matter that much).


bye
Ron

_PJ_

Hi. This is why I mentioned "idiot's guide". This stuff needs to be explicit because there are things that just are not clear (maybe they're obvious to the experts, but that doesn't go for all) :
Quote from: Derron on July 14, 2020, 14:23:36
Extract
Extract to the install location? i.e. overwrite existing files/folders? I know that I had to delete some brl.mod folder and others last year and then copy over some replacements.

Quote
Execute MaxIDE
Create a New File
QuoteBuild and Run.
"Build & Run" With which parameters/arguments/configurations? I do recall there were some concerns regarding "Overload Warnings" etc.


Quote
remove MinGW,
What does this mean? There is a folder included in the download called "MinGW32x64" This also exists in the install directory. What should be removed? and removed how (i.e. simple delete or should this affect the MinGW settings for Git such as within Registry etc.???)

Quoteremove path stuff
What does this mean? Related to the "%PATH%" environment variable or  ????


_______

I apologies and appreciate this may seem pedantic but it's important to me to be absolutely clear on what's required as if it goes wrong I know I am not in a position to effectively figure out the problem...

Skaven

#24
sounds like youre making this a whole lot more complex than it really is

extract anywhere you want ng yes
if youre overwriting things then.. yes.. overwrite them
why would you download something new and NOT overwrite things and instead keep your old files?
as things already seems to be confusing to you i would suggest you just remove blitzmax and instead use the version the website provides you with
it comes packaged with everything you need
and since you dont know what %path% is then you dont need to worry about it

and then build and run using any settings you want
theres no magic settings or parameters that you have to use
if you get overload warnings and dont want to see those warning signs then disable overload warnings..?
if you get something else you dont like then disable that
if you want something else then enable that

imagine having to use a forum and guide to download an app and click a build and run button  :'(

_PJ_

Quotewhy would you download something new and NOT overwrite things and instead keep your old files?
There's a significant difference between overwriting and merging with identical folders that have different contents.

Quoteand since you dont know what %path% is then you dont need to worry about it
Please identify where I ever claimed not to know what %PATH% is? I think you seem to insist on assuming too much.
This is the PATH environment variable which, in my earlier post, if you read and paid attention, you would see that I questioned if the vague comment regarding "remove path stuff" was meant in regards the actual PATH envvar.


It seems things have become much more simplified and direct, so of course are no longer so troublesome - but please, rather than criticise, be a little considerate of the fact that when I went through this process, I followed guidance from threads such as this one::

https://www.syntaxbomb.com/index.php/topic,3299.0.html

which indeed had me very confused with MinGW and GCC and other aspects of building of various programs and compared to the process NOW, is by far much simpler.

Derron

extract to where? To where you have write access ... BlitzMax NG is "portable", it does not need a specific installation folder.
Just create a c:\Tools, extract to there so it becomes "c:\Tools\Blitzmax" (and in there the bin, mods ... folder).

Build and run: do not adjust anything ...open MaxIDE and use the default settings. "Overload Warnings" etc are for the case of using old code - here we just want to get it working first.

Remove MinGW: read what I wrote before: If you had installed MaxIDE (vanilla) AND MinGW prior. If you had installed the old BlitzMax before you might better call it "migrating/upgrading" than simply "installing". As said, it should not affect NG much - so keep it.

I am in no way talking about removing the MinGW stuff from your NG folder.


Path: yes, if you manually fiddled with the %PATH% stuff to do whatever, you need to ensure it does not intercept NG's way of doing ... of course this then would be up to you to tackle as you did the odd stuff to the %PATH% (and other environment variables).
If you did not change anything? Then nothing to worry about ...

Overwriting: I would suggest to NOT do that except you know what you are doing: If you just "overwrite" (or however Windows calls it) then you might end up with some stuff being overwritten but files NOT existing in the "new folder" (the one you "copy over") will be kept. To avoid that, simply rename the old version to "blitzmax.old" so they do not interfer.
Afterwards you check if your old installation had additional modules (check BlitzMaxNG/mod folder) and if so, download newer versions of them too (too new might require compiler/core modules being NEWER than the last full release - so pay attention if the modules have "tags/releases" attached describing which minimum version they need).

As said: if you did not have something like MinGW manually installed before, you should be able to just unzip, go into the unzipped folder, startup MaxIDE and begin coding. If you did not use external modules, you will not have to care much about the paragraph above.


bye
Ron

Brucey

Apologies if the installation instructions for Windows are not very clear : https://blitzmax.org/docs/en/setup/win32/#installation

If someone can tell me what else I can add there to improve it, I'd be happy to make the changes.

_PJ_

Thanks for the link.

The actuality of what was needed is very simple and straightforward - simply unzip the contents and run the IDE to build the modules.

What (at least in my case) had confused matters was the references to MinGW and that in earlier times, command-line instructions for making and building were necessary. When I originally installed BlitzMax some years ago there was a need to obtain and configure "GCC" and "MinGW" components  from various sources which was extremely frustrating and unclear. With a focus on other OS and architectures than I was concerned about.

Since this is now no longer necessary (maybe it is for specialist compilation for certain platforms?) then as far as I am concerned at least, there is no longer the complexity and headaches. The process for installing and future updating BlitzMax NG seems extremely simple and intuitive now.

Derron

Quote from: Derron on July 14, 2020, 14:23:36
Download : https://blitzmax.org/downloads/
Extract
Execute MaxIDE
Create a New File
Code (Blitzmax) Select

SuperStrict
Framework Brl.StandardIO

Print "Hello World"

(optionally: save the file)
Build and Run.


Edit:
If you had installed MaxIDE (vanilla) AND MinGW prior - clean up properly (remove MinGW, remove path stuff - albeit all of this should not matter that much).


bye
Ron


Full quote for a reason.