Menu

Supported_Compilers

Supported Compilers for OWLNext

This page documents the compilers supported in each release series of OWLNext. Note that newer releases of OWLNext gradually drop support for older compilers, so if you are upgrading from OWL and Borland C++, then see our recommended step-by-step approach to get to the latest release. Also note that compiler support is gradually added throughout the support cycle for a release series, so to get the latest compiler support, you should preferably use the latest update for the version listed. You can find the full version history in OWLNext Releases.



Fully supported compilers

The following table shows the supported compilers for OWLNext 6.20 and later. For earlier versions, see the source code ("include/owl/private/borlandc.h" and "include/owl/private/msc.h").

Version Microsoft Visual Studio/C++ Embarcadero RAD Studio/C++Builder Borland C++
OWLNext 8 2022 (x86/x64) TBD
OWLNext 7 2019–2022 (x86/x64) 10.3–11.3 (BCC32C/BCC64)
OWLNext 6.44 2010–2022 (x86/x64) XE6–XE7 (BCC32),
XE8 (BCC32/BCC64),
10–11.3 (BCC32/BCC32C/BCC64)
OWLNext 6.36 2008–2022 (x86) 2009–11.3 (BCC32) 5.5 (BCC32)
OWLNext 6.30 2003–2012 (x86) 6.0–XE3 (BCC32) 5.02–5.5 (BCC32)
OWLNext 6.20 6.0–2008 (x86) 6.0–2010 (BCC32) 5.02–5.5 (BCC32)

Note: We recommend using the most recent OWLNext and compiler versions to fully benefit from fixes and enhancements.


Microsoft Visual Studio/C++

Visual Studio is a full-featured high-quality IDE with a design that should be familiar to Borland C++ users. It includes the latest optimizing C++ toolset from Microsoft, as well as an integrated resource editor. The Visual Studio Community edition is free to download and use for individual developers, open-source development and small commercial businesses.

Due to slight syntax differences in the Microsoft and Borland resource file formats, you will have to convert any resource files in your legacy OWL projects (see Convert Borland C++ Resource Files to Visual C++). For more help on code changes needed, see Migrating from Borland C++ 5.02 to Visual C++.


Embarcadero RAD Studio/C++Builder

The Borland-based C++ compiler (BCC32) in the Embarcadero products is the direct descendant of Borland C++. This may ease the migration of legacy code. However, BCC32 is far behind Embarcadero's new Clang-based compilers (BCC32C, BCC64) and Visual Studio in terms of the C++ standard. The OWLNext 6.40 series and later have support for the new Clang-based compilers.

An advantage of the Embarcadero products is the ability to use OWLNext in compatibility modes with VCL, the central RAD framework by which Borland replaced OWL.

Note that RAD Studio and C++Builder do not include a resource editor, so you will either have to keep using the resource editor in the Borland C++ IDE, or find an alternative resource editor on the market (e.g. Visual Studio).

The C++Builder Community Edition is free to download and use for non-commercial development.


Borland C++

Since OWLNext 6.32, only version 5.5 of the Borland C++ compiler has been supported, and in OWLNext 6.40, support for Borland C++ was dropped altogether. So for OWLNext 6.40 and later, you need a modern compiler. You can still use the Borland C++ IDE as a code and resource editor, if you prefer.


Other compilers

The early versions of OWLNext had some support for the GCC compiler, aimed at building OWLNext applications on Linux, macOS and other Unix-like operating systems for deployment on Wine. Unfortunately, this support has not been maintained. So, if you want to try to compile OWLNext with GCC or other unsupported compilers, you are on your own. Only consider this option if you are an expert and have time to spare.

That said, the latest version of OWLNext, version 7.0, is based on ISO C++17, and the whole library (including extension libraries) now compiles with full standard compliance (option "/permissive-" for Microsoft's compiler). The latest supported compilers from Microsoft and Embarcadero are all pretty much fully compliant with the C++ standard. This should make the OWLNext code highly portable to any compliant C++ compiler with the necessary support for the Windows API.

However, note that OWLNext applications can be developed and built on Windows using the primary supported compilers and then deployed on a Unix-like system using Wine. The application does not need to be built on the target system. Simple OWLNext applications may run fine on Wine without any changes, but in general some adaptations may have to be made to ensure compatibility with Wine and to provide a good user experience (accommodating font differences, etc.).


Related

Bugs: #377
Bugs: #557
Discussion: Current best advice on migrating an OLD OWL project
Discussion: Current best advice on migrating an OLD OWL project
Discussion: Current best advice on migrating an OLD OWL project
Discussion: Upgrading from OWL: MDIClients in multiple DLL's
Discussion: OWLMaker makefiles for BC501: "Fatal: Command arguments too long"
Discussion: Boost path problem with BCC32 toolset
Discussion: internal compiler error only on owlnext release builds using embarcadero XE2
Discussion: OwlMaker for RAS Studio XE8
Discussion: OWLMaker C++ Builder 10.2 on WIN10 (32 Bits)
Discussion: Can I upgrade OWLNext 6.30 to Visual Studio 2019?
Discussion: OWLNext 7 and VS2015 (C++ 14.0)
Discussion: OwnNext 7 ready for production?
News: 2018/02/support-for-embarcadero-rad-studio-102-tokyo
News: 2019/04/owlmaker-build-4529--refreshed-for-visual-studio-2019
News: 2023/11/c-builder-12-athens
Wiki: Coding_Standards
Wiki: Contributing
Wiki: Convert_Borland_C++_resource_files_to_Visual_C++
Wiki: Features
Wiki: Frequently_Asked_Questions
Wiki: History
Wiki: Installing_OWLNext
Wiki: Installing_OWLNext_from_the_Code_Repository
Wiki: Knowledge_Base
Wiki: Migrating_from_BC_to_VC
Wiki: OWLMaker
Wiki: OWLNext_Stable_Releases
Wiki: OWLNext_naming_convention
Wiki: Upgrading_from_OWL
Wiki: Upgrading_from_OWL_1.0