1) the compiler is bcc32c.exe (CLang version) and not bcc32.exe (Borland version) and the bc.mak uses the second one.
2) boost library is needed and is not provided with BCC101. When we try to load this library for Embarcadero (v.1.55) at http://altd.embarcadero.com/releases/radstudio/18.0/boost_18.zip we had the message "no supporting embarcadero development tool installation has been found" and the same version of boost (v.1.55) at https://sourceforge.net/projects/boost/files/boost/1.55.0/ seems to have a different tree
thanks for any answer
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Actually, if you are building with the 32-bit CLang compiler (since the free version does not include 64-bit), there is one correction that needs to be done - in the file include\owl\private\borlandc.h, the lines
I'm trying to build OWL (6.43) with the free compiler BCC101
Hi Christian and Jogy, I have done some partial work on this. See "Support for the Embarcadero Free C++ Compiler " [feature-requests:#100]. Also see "Building 6.35 with Embarcadero free C++ compiler" [discussion:c8946fcc].
Hi Jogy and Vidar, and thanks for your answers.
I just took a look at this, and learned some things :
1) bcc32c do not use (needs not) boost library to compile OWL
2) CodeGuard seems to be only for bcc32 (and not for bcc32c)
With the job made by Vidar, the correction in borlandc.h shown by jogy, I managed to compile OWL, except this was extremely slow (perhaps because precompiled headers were not set up entirely) and after I corrected a bug that I present to you :
hlpmanag.cpp : line 45 :
#if defined(__BORLANDC__) and !defined(_WIN64)
might be replaced by
#if defined(__BORLANDC__) and !defined(__clang__)
It would be cool for the future to have (like I did) a cl.mak and clmake.bat in the source/owlcore folder (cl for clang).
I will continue my investigations later and has the project to see the possibility of compiling OWL with GNU thru mingw : If you have important info about this, thanks in advance.
christian
PS: I compiled 6.43 but I saw that the code for 6.44 has the same bug
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I found the problem that prevented C++ Builder CLang compiler from building OWLNext:
By default, in the CB global configuration, in include paths there was the variable $(CG_64_BOOST_ROOT), but it was not defined in the Environment options. Only CG_BOOST_ROOT is set. Replacing $(CG_64_BOOST_ROOT) with $(CG_BOOST_ROOT) in the CB global configuration solves the issue and allows me to build the CLang OWLNext libraries with OWLMaker.
Then you won't need the change of the checks with __clang__
As for CodeGuard, it is only for the old C++ compiler and is not really supported anymore, as a matter of fact the latest C++ Builder installs may not contain the needed dlls...
During compilation I managed to hang the C++ Lang compiler (or make ???) twice and I managed to reproduce the bug :
I compile on Win10 : to reproduce the bug, just clic on the window elevator during the compilation (the console window that compiles)
Last edit: pc 2018-04-19
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Is it still serious, Borland ? (embarcadero)
I've tested the free command line compiler BC101 and the IDE : both provide bcc32c that works differently : there are options undocumented and that work with one and not to the other. With the same command line to compile an "hello world" one provide a COFF format and the other an OMF format :(
And I don't talk about the documentation that is incomplete and ununderstandable : just an example : the -o option says object file path, but for output by the compiler or input to the linker chain ? one does have to try all option to understand ? What a shame ?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I feel your pain. As a soother: Explicit support for the C++Builder 10.2 Tokyo Starter Edition has now been added to OWLMaker (soon to be released), with a workaround for the BCC32C and Boost issue [bugs:#405]. See [feature-requests:#131]. With that I think OWLNext users can forget about the Free Embarcadero C++ Compiler and use the free C++Builder Starter Edition instead.
3 - The free BC101 compiler doesnt include debugging tools, and I think they update to the latest compiler in lazzy mode. As alternative you can consider the 'Starter edition'.
Sebas
Last edit: Sebastian Ledesma 2018-04-24
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hello,
I'm trying to build OWL (6.43) with the free compiler BCC101 we can find at https://www.embarcadero.com/fr/free-tools/ccompiler
Is there a way to compile OWL with it ? Because :
1) the compiler is bcc32c.exe (CLang version) and not bcc32.exe (Borland version) and the bc.mak uses the second one.
2) boost library is needed and is not provided with BCC101. When we try to load this library for Embarcadero (v.1.55) at http://altd.embarcadero.com/releases/radstudio/18.0/boost_18.zip we had the message "no supporting embarcadero development tool installation has been found" and the same version of boost (v.1.55) at https://sourceforge.net/projects/boost/files/boost/1.55.0/ seems to have a different tree
thanks for any answer
Hi,
You can build OWLNext with the free C++ Builder compiler. The easiest way to do it is to use the OWLMaker tool: https://sourceforge.net/p/owlnext/wiki/OWLMaker/
As for Boost, you need version 1.39, best to do it from the package manager in C++ Builder IDE, it will download and install both 1.39 and 1.55.
Jogy
P.S. I also recomment to get OWLNext 6.44 which is the latest stable release.
Actually, if you are building with the 32-bit CLang compiler (since the free version does not include 64-bit), there is one correction that needs to be done - in the file include\owl\private\borlandc.h, the lines
need to be changed to
This will be corrected in the next 6.44 update.
Jogy
Hi Christian and Jogy, I have done some partial work on this. See "Support for the Embarcadero Free C++ Compiler " [feature-requests:#100]. Also see "Building 6.35 with Embarcadero free C++ compiler" [discussion:c8946fcc].
Related
Discussion: c8946fcc
Feature Requests:
#100Hi Jogy and Vidar, and thanks for your answers.
I just took a look at this, and learned some things :
1) bcc32c do not use (needs not) boost library to compile OWL
2) CodeGuard seems to be only for bcc32 (and not for bcc32c)
With the job made by Vidar, the correction in borlandc.h shown by jogy, I managed to compile OWL, except this was extremely slow (perhaps because precompiled headers were not set up entirely) and after I corrected a bug that I present to you :
hlpmanag.cpp : line 45 :
might be replaced by
It would be cool for the future to have (like I did) a cl.mak and clmake.bat in the source/owlcore folder (cl for clang).
I will continue my investigations later and has the project to see the possibility of compiling OWL with GNU thru mingw : If you have important info about this, thanks in advance.
christian
PS: I compiled 6.43 but I saw that the code for 6.44 has the same bug
Hi,
I found the problem that prevented C++ Builder CLang compiler from building OWLNext:
By default, in the CB global configuration, in include paths there was the variable
$(CG_64_BOOST_ROOT)
, but it was not defined in the Environment options. OnlyCG_BOOST_ROOT
is set. Replacing$(CG_64_BOOST_ROOT)
with$(CG_BOOST_ROOT)
in the CB global configuration solves the issue and allows me to build the CLang OWLNext libraries with OWLMaker.Then you won't need the change of the checks with
__clang__
As for CodeGuard, it is only for the old C++ compiler and is not really supported anymore, as a matter of fact the latest C++ Builder installs may not contain the needed dlls...
Jogy
Post Scriptum:
During compilation I managed to hang the C++ Lang compiler (or make ???) twice and I managed to reproduce the bug :
![](http://c.panel.free.fr/data/bugs/bug_bcc32c.png)
I compile on Win10 : to reproduce the bug, just clic on the window elevator during the compilation (the console window that compiles)
Last edit: pc 2018-04-19
Is it still serious, Borland ? (embarcadero)
I've tested the free command line compiler BC101 and the IDE : both provide bcc32c that works differently : there are options undocumented and that work with one and not to the other. With the same command line to compile an "hello world" one provide a COFF format and the other an OMF format :(
And I don't talk about the documentation that is incomplete and ununderstandable : just an example : the -o option says object file path, but for output by the compiler or input to the linker chain ? one does have to try all option to understand ? What a shame ?
I feel your pain. As a soother: Explicit support for the C++Builder 10.2 Tokyo Starter Edition has now been added to OWLMaker (soon to be released), with a workaround for the BCC32C and Boost issue [bugs:#405]. See [feature-requests:#131]. With that I think OWLNext users can forget about the Free Embarcadero C++ Compiler and use the free C++Builder Starter Edition instead.
Related
Bugs:
#405Feature Requests:
#131My addition:
1 - "CodeGuard is for the classic Win32 compiler only. (Similar features for the Clang series of compilers are under consideration.)"
https://community.embarcadero.com/blogs/entry/new-in-rad-studio-10-2-1-codeguard-for-windows-8-and-10-1
2 - There is a new Bcc32x, wich it's the Clang C++ compiler for Win32 with the same parameters than the bcc64.
https://community.embarcadero.com/blogs/entry/new-in-c-builder-10-2-3-a-new-win32-compiler-front-end-bcc32x
3 - The free BC101 compiler doesnt include debugging tools, and I think they update to the latest compiler in lazzy mode. As alternative you can consider the 'Starter edition'.
Sebas
Last edit: Sebastian Ledesma 2018-04-24
Good news: the free C++compiler has been updated to Tokyo 10.2.3
https://community.embarcadero.com/blogs/entry/c-free-compiler-updated-to-10-2-3