ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / Developing for Linux
  • Overview
  • Creating a project for Linux with WINDEV
  • Creating a project configuration for Linux
  • Testing a Linux WINDEV project
  • Creating the Linux executable
  • Distributing the Linux executable
  • Using a Linux executable
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Overview
WINDEV allows you to develop applications for the Linux operating system.
The method for developing applications for Linux with WINDEV is identical to the method for developing applications for Windows except for some differences. For more details, see Limits of WINDEV applications for Linux.
The WINDEV executables for Linux use the graphic QT library. Therefore, this library must necessarily be installed on the Linux computers (version 5 or later). This library is a standard library, available on most of Linux distributions. Remark: To benefit from the management of SVG images, the QT library installed must support the SVG format. For more details, see Distributing a Linux application.
Remarks:
  • Starting with version 27, the following Linux distributions are supported:
    • Debian 9 or later
    • Fedora 25 or later
    • Ubuntu 18.04 or higher (minimum GCC version: 5.1)
    Starting with version 27, the following Linux distributions are no longer supported:
    • OpenSUSE:Leap:15.0. (The official version is openSUSE Leap 15.2, which is supported).
  • The Linux applications developed with WINDEV operate on the devices equipped with an Intel processor or with a processor compatible with Intel (the ARM processors are not supported).
  • Starting with version 28, you can only create 64-bit Linux projects and executables.
Creating a project for Linux with WINDEV
To create a Linux project with WINDEV:
  1. Click in the quick access buttons.
    • The new element window appears: click "Project".
    • The project creation wizard starts.
  2. In "Description - Type of project", select "Windows or Linux application". Go to the next step.
  3. In "Description - Operating system", select "Linux platform". Go to the next step.
  4. The rest of the wizard is performed like for any other platform. For more details, see Creating a WINDEV project.
Once your project is created, your project can be developed like any standard WINDEV project:
  • Only the controls available for Linux can be created.
  • In the description windows, the options that are not available for Linux are automatically grayed.
  • Compilations errors indicate the functions and the controls not available in Linux.
  • If unavailable controls are found in the Linux executable, a fatal error is displayed at runtime.
Remark: The analysis of a Linux WINDEV project can use the following types of data files:
  • HFSQL Classic.
  • HFSQL Client/Server.
  • MySQL.
  • MariaDB.
  • PostgreSQL.
  • SQLite.
Creating a project configuration for Linux
To use an existing WINDEV project in Linux, you must create a project configuration specific to the creation of Linux executables.
To create a new project configuration for Linux:
  1. On the "Project" tab, in the "Project configuration" group, click "New configuration" and select "New configuration (via wizard)". The configuration creation wizard starts. Go to the next step.
  2. Specify the name and description of the configuration and select "Windows or Linux application". Go to the next step.
    • Select the "Linux platform" operating system. Go to the next step.
  3. Select the elements that must be included in the project configuration (windows, queries, ...).
  4. Validate.
Remark: You have the ability to include project elements in the project configuration or to exclude project elements from the project configuration via the "Project explorer" pane ("Include in the current configuration" or "Exclude from the current configuration").
For more details, see Project configuration.
To develop your project:
  • The controls not available for one of the configurations are displayed in blue in the editor.
  • In the description windows, the options that are not available in the current configuration are automatically grayed. The options not available in one of the configurations are displayed in blue.
  • In the Linux configuration, compilation errors indicate the controls not available in Linux.
  • If unavailable controls are found in the Linux executable, a fatal error is displayed at runtime.
  • In the Linux configuration, compilation errors indicate the functions not available in Linux.
Testing a Linux WINDEV project
In Linux mode, the test of a window or the test of the project can be run via the corresponding GO. The test of the application is run in Windows.
Caution: When running a test of the Linux WINDEV application in GO mode, the specific features of Linux are ignored: all the controls operate (even the ones that are not supported in Linux).
Creating the Linux executable
To create the Linux executable:
  1. Click in the quick access buttons (this icon appears if the current configuration is a Linux configuration).
  2. The Linux executable creation wizard starts.
  3. Type the executable name. The same name is automatically given to the library associated with the executable.
  4. Select the mode for using the library: library included in the executable, external library, ... By default, the library is included in the executable.
  5. Specify the error message that will be displayed on the console when a runtime error occurs.
  6. Specify whether the executable will take the patch libraries into account.
  7. Specify the languages supported by the executable.
  8. Specify the elements that will be included in the library.
  9. Select (if necessary) the components used by the executable.
  10. Specify the information about the executable. This information can be retrieved through programming with ExeInfo. This information is as follows:
    • the name of the company. For example, the name of the publisher.
    • a short description of the application purpose. For example: "Inventory management".
    • the copyright of the application
    • the URL of the Web site: You can specify the URL of your site for example.
    • the email address: Email address where the users of the application can contact you.
  11. Specify the version number of the executable. The version of an executable is used to find out the features available (or not) in the application used by the end user. This version number can be retrieved through programming with ExeInfo.
    The format of the version number corresponds to a set of 4 numbers separated by dots.
    • The first group of 4 digits corresponds to the number of major changes performed in the application.
    • The second group of 4 digits corresponds to the number of minor changes performed in the application.
    • The third group of 4 digits corresponds to the number of changes without GUI modification performed in the application.
    • The last group of 4 digits corresponds to the number of reviews.
      We advise you to automatically increment this number at each generation. This increment operation is automatically performed if the option "Automatically increment the version at each generation" is checked.
  12. Go to the next step. Accept (if necessary) the project backup suggested by the wizard.
  13. The Linux executable is automatically generated. You have the ability to open the generation directory. This directory contains:
    • a file without extension that is the Linux executable.
    • possibly a WDL file with the same name. It is the library of the executable.
    • the .so files required at runtime.
    • the .FIC, .MMO and .NDX files if your application uses HFSQL Classic data files. The names of the data files must be written in lowercase characters. If data files were present before the project configuration was created, they have been copied in lowercase characters.
    • the files specific to this configuration (.ini configuration file for example).
      Remark: If these files use a specific case, this case must be respected in the code of the application (Linux being a "case sensitive" system).
Remark: To open a file explorer on the generation directory of the application, on the "Home" tab, in the "General" group, expand and select "Open generation directory".
Distributing the Linux executable
The Linux applications have no setup like in Windows.
To distribute a WINDEV Linux application, the entire content of the generation directory must be supplied to the users.
To run the test of the Linux executable created with WINDEV and to distribute it:
  1. Connect to the Linux computer via the "WinScp" application for example.
  2. Copy the content of the generation directory onto the Linux computer: executable, *.WDL (if an external library was chosen) and *.so
  3. Change the program attributes to grant execution rights to the program:
    • check "Allow the execution of the file like a program" in the context menu of the file
    • use the following command line in the console:
      chmod + x myapp
  4. Run the program. For example, to start the executable of the current directory, use the following notation: ./myapp (the name of the application must be preceded by /.).
Remark: To update a Linux application, you must:
  • regenerate the executable.
  • copy the executable file only in the directory of the Linux application (if the library is included in the executable).
  • copy the generated WDL file only in the directory of the Linux application (if the library is not included in the executable).

Using a Linux executable

To use a Linux executable, the QT library (Core and GUI) version 5 (or later) must be installed.
In Ubuntu, this library can be installed with the following command::
sudo apt-get install libqtcore5 libqtgui5
Remark: To benefit from the management of SVG images, the QT library installed must support the SVG format.
Minimum version required
  • Version 16
Comments
Click [Add] to post a comment

Last update: 07/10/2023

Send a report | Local help