BlitzMax

BlitzMax

  • Downloads
  • Docs
  • API
  • Resources
  • About

›Setup

Setup

  • Getting Started
  • Win32
  • Linux
  • macOS
  • Android
  • iOS
  • Raspberry Pi
  • NX (Switch Homebrew)
  • Custom Settings

Tutorials

  • Beginners Guide
  • OOP Tutorial
  • Network Programming
  • TCP Socket Programming

Language

  • Arrays
  • Basic Compatibility
  • Collections
  • Comments
  • Conditional Compiling
  • Constants
  • Data Types
  • Debugging
  • Enums
  • Exceptions
  • Expressions
  • Functions
  • Identifiers
  • Literals
  • Modules
  • Objects
  • Program Flow
  • Slices
  • Strings
  • User Defined Types
  • Variables
  • Advanced Topics

    • Interfacing With C
    • Memory Management
    • Pointers
    • Custom Pre/Post Compilation Scripts
    • Creating DLLs

Tools

  • MaxIDE
  • BlitzMax Make (bmk)
  • BlitzMax Compiler (bcc)
Edit

Linux

Introduction

BlitzMax for Linux allows you to build native 32-bit or 64-bit applications for the Linux platform.

What's in the box?

BlitzMax for Linux ships with a standard set of applications and utilities for programming with and compiling your BlitzMax programs.

In addition, you will probably need to install some Linux developer tools and packages.

Installation

BlitzMax for Linux doesn't require installing in any particular location. Simply unzip the release into a folder on your Linux system, and the MaxIDE editor should be ready to use.

Since BlitzMax is essentially self-contained, it's possible to have multiple copies of BlitzMax installed in different locations on your computer. This is particularly useful when trying out new releases, or simply for working on your own modules.

Configuring your Linux Dependencies

Every Linux distribution is not quite the same. Often they have different package managers and more often than not, a different set of default packages.

Depending on your version of Linux and how many additional packages you may or may not have already installed, you will probably need to configure your Linux with some additional packages in order to compile your BlitzMax apps.

The following is a list of Linux distributions we've tested against, and the packages that were required to be installed. We've split requirements into two parts - the base set of packages you will need in order to build BlitzMax graphics and MaxGUI apps, and those packages required for the SDL backend.

The samples are configured to build against the SDL backend by default.

Ubuntu (18.04)

RequirementCommand
Basesudo apt install g++ libglu1-mesa-dev libasound2-dev libfreetype6-dev libxpm-dev libxft-dev libxxf86vm-dev libpulse-dev libopenal-dev libwebkit2gtk-4.0-dev libgtk-3-dev
SDLsudo apt install libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxss-dev libgl1-mesa-dev libesd0-dev libdbus-1-dev libudev-dev libaudio-dev

Manjaro (18.04)

RequirementCommand
Basesudo pacman -S gcc
SDLNo further action required.

openSUSE ( Tumbleweed )

RequirementCommand
Basesudo zypper install gcc-c++ libXxf86vm-devel webkit2gtk3-devel alsa-lib-devel freetype-devel libpulse-devel glu-devel
SDLsudo zypper install libudev-devel libXss-devel

Fedora (31)

RequirementCommand
Basesudo dnf install gcc-c++ alsa-lib-devel pulseaudio-libs-devel freetype-devel mesa-libGLU-devel gtk3-devel webkit2gtk3-devel libXxf86vm-devel
SDLsudo dnf install dbus-devel libudev-devel libXScrnSaver-devel nas-devel

64 or 32-bit

It is assumed that you will be targeting the same architecture as the version of Linux you are building upon. So for example, if you are using 64-bit Linux, you are likely to be building 64-bit applications.

While it is possible to build 32-bit applications on 64-bit Linux, we do not encourage it as you may often find there are various dependency issues when trying to get the development environments configured.

Your mileage may vary.

← Win32macOS →
  • Introduction
  • What's in the box?
  • Installation
    • Configuring your Linux Dependencies
  • 64 or 32-bit
BlitzMax
Docs
Getting StartedDownloadsAbout
Community
ResourcesSyntaxBomb Forums
More
GitHubStarChat on Discord
Copyright © 2022 Bruce A Henderson