A new edition of our free C++ compiler

Posted by on in Programming

A long time ago, back when C++Builder was made by Borland, we made available a free version of our C++ compiler. If you've been around the C++ community long enough you're probably very familiar with it: 'Borland C++ 5.5' counts its downloads in the millions, and despite its age is still today commonly used as an introductory command-line compiler for students or anyone learning C++.

Today, we are updating that compiler.

When you visit our free C++ compiler download page, you can download the compiler from the latest version of C++Builder, 10.1 Berlin. This is a Clang-based Win32 compiler, enhanced with our extensions. It includes the Dinkumware STL, and headers and libraries for building both console and GUI Windows applications, as well as a number of other command-line tools, such as the resource compiler, the implib library management tool, and many others.  The readme includes an example of how to use it with Cmake.  In other words it's a complete package, with tools and headers, for Windows.

We hope it will be useful for students or anyone learning C++; for teachers; for those who maintain libraries that need to be tested or compatible with a wide range of compilers; for those who've used earlier versions of our products; or anyone for whom a free and powerful compiler is a useful tool.

Download the free C++ compiler here.

C++Builder includes compilers for Win64, iOS, Android, and OSX, as well as cross-platform database, enterprise, UI, and web frameworks. Use one codebase and one set of libraries. Design a UI once and specialize it natively per platform or per device, just like subclassing code. Accelerate your development: spend time coding, not struggling with the UI or the platform.

Also - I'm presenting a webinar tomorrow (the 14th) titled Useful C++ Features You Should be Using, covering some of the things that are available in our latest compiler - which includes this free compiler! - that you may not be using if you haven't started converting your code up to C++11 features yet. It's repeated three times during the day, to be suitable for all time zones. Register here!



About
Gold User, No rank,
C++ Product Manager, looking after C++Builder as well as the IDE.

Comments

  • Ricardo M35476
    Ricardo M35476 Wednesday, 29 March 2017

    Free compiler good idea !!! ( maybe a little late ... ) Question: What about TD ( Turbo Debugger ) ? It's missing.

  • David Millington
    David Millington Monday, 10 April 2017

    Hi Ricardo - do you mean the command-line debugger? I don't believe we've shipped that for many versions now...

  • Ricardo M35476
    Ricardo M35476 Monday, 10 April 2017

    C:\RGM\bcc55\Bin>td32 /v
    Turbo Debugger 32-bit Version 5.5 Copyright (c) 1988, 2000 Inprise Corporation

  • John G577
    John G577 Monday, 18 July 2016

    I have followed the instructions in the install file. I tried the cmake section but I don't understand how to use it. I have not used cmake before. There should be mention that cmake is not included in the package and the example needs to be fleshed out to show how the preceding example can be compiled using cmake.

  • David Millington
    David Millington Tuesday, 19 July 2016

    ...and I have a new blog post giving a full example of using CMake with the free compiler: http://community.embarcadero.com/blogs?view=entry&id=8638

    Hope that's useful!

  • David Millington
    David Millington Tuesday, 19 July 2016

    Hi John - I'll make a new blog post about using Cmake.

  • Joseph M8109
    Joseph M8109 Thursday, 14 July 2016

    That's nice and all, but why would anyone choose to use a proprietary, license-restricted clang C++ compiler when they can use the open source, BSD-licensed official clang compiler that isn't limited to running on or targeting just Windows? They could download Eclipse, QTCreator, or another open source IDE while they're at it. I'm not going to even bring up the proprietary but much more generous Visual Studio Community Edition.

    Sometimes - ok, lots of times - you guys do things that only make sense in a world in which competition doesn't exist. I don't understand who the target is for this or how it's going to attract them to the paid version of the product.

  • David Millington
    David Millington Monday, 18 July 2016

    Hi Joseph. Lots of reasons! First, one of the big things is that the old Borland v5.5 compiler has been downloaded many, many times and is still often used for education or simple projects. We want to provide an update to that. Second, our compiler has language extensions and abilities the plain Clang one does not - it's why we refer to it as "clang-enhanced". The whole property-method-event paradigm is only possible with our tech, for example. Finally, making a free one available is useful for people who want compatibility, who write libraries or code and want to make sure it works for customers of theirs who are using our tools.

    As for VS Community etc - I'm looking at this. Remember that while it's free for small devs, it doesn't provide anywhere near as much value in terms of cross-platform capabilities compared to C++Builder. People tend to see "free" vs "cost" and not realise that we have different value propositions. However, I'm looking into this, and if you have ideas you would like to suggest please email me (firstname dot lastname at embarcadero.com.)

  • SPYRIDON MANTZOURATOS (GREEK)
    SPYRIDON MANTZOURATOS (GREEK) Thursday, 14 July 2016

    I got a version of 5.5 Compiler and those are the MD5 can some one plese verify to me if i have the correct version ? I post some MD5 so if some one wants to help out to tell me if am ok
    bcc32.exe MD5: EFB740DF5FDE234CF558042443220BB7
    brc32.exe MD5: 3948B05C6EFD7694220D887CAF492FA0
    brcc32.exe MD5: DE3F8FCDD1BDB42CCC28CE8D610BD2D8
    make.exe MD5: 1B694E37EDBDA62BB83D0D517F1A9F41

  • Yilmaz Yoru
    Yilmaz Yoru Thursday, 14 July 2016

    Yours is old :) here is dir of bin and hash of bcc32c

    Directory: C:\bcc101\bin


    Mode LastWriteTime Length Name
    ---- ------------- ------ ----
    -a---- 26.06.2016 13:04 222 bcc32c.cfg
    -a---- 6.07.2016 15:55 17837576 bcc32c.exe
    -a---- 6.07.2016 15:55 814088 cc32c240.dll
    -a---- 6.07.2016 15:55 873992 cc32c240mt.dll
    -a---- 6.07.2016 15:55 17817096 cpp32c.exe
    -a---- 6.07.2016 15:55 107016 grep.exe
    -a---- 6.07.2016 15:55 376328 ilink32.exe
    -a---- 6.07.2016 15:55 264200 implib.exe
    -a---- 6.07.2016 15:55 993288 lnkdfm240.dll
    -a---- 6.07.2016 15:55 120840 make.exe
    -a---- 6.07.2016 15:55 81416 rlink32.dll
    -a---- 6.07.2016 15:55 776712 tdump.exe
    -a---- 6.07.2016 15:55 397832 tlib.exe
    -a---- 6.07.2016 15:55 79880 touch.exe


    PS C:\bcc101\bin> CertUtil -hashfile *.* MD5
    CertUtil: -hashfile command FAILED: 0x8007007b (WIN32/HTTP: 123 ERROR_INVALID_NAME)
    CertUtil: The filename, directory name, or volume label syntax is incorrect.
    PS C:\bcc101\bin> CertUtil -hashfile bcc32c.exe MD5
    MD5 hash of file bcc32c.exe:
    a6 b3 a8 d3 d1 e5 20 a2 ce 0b 00 b7 b8 6a 2e e7
    CertUtil: -hashfile command completed successfully.

  • SPYRIDON MANTZOURATOS (GREEK)
    SPYRIDON MANTZOURATOS (GREEK) Thursday, 14 July 2016

    Hello David ... I am like new in Embarcadero i used to be and am in the Free Pascal Zone for the reason that i see things i do not like. I am a developer and i do not like restrictions. I do not approve the movement to replace the old BORLAND C++ 5.5 Free download and it happened just recently how come when i showed up you made this change? You should give a link to the people who want the Borland C++ 5.5 because the License is not the same. 5.5. is by BORLAND and it is FREE as FREE FULL NON RESTRICTED while the new is just Personal Usage ... Do you understand the legal differences ? If you do not provide a Link to the FREE BORLAND C++ 5.5. can i provide a link to my personal Blog so people can download and explain to them the License differences between the new and the old ?

    Correct me if am wrong David ... I love to speak with the Lawyers of Embarcadero and i do respect your intellectual properties but i am a developer and i know some people are interested more on making their money selling their new products but i also respect the fact that Borland gave some compiler to the people for free. Embarcadero does not sell Borland products anymore even if some people use them or even want to buy them... Some people have old software that they still support and they don’t want the Berlin I jus got for example the Berlin and Since it is cheap people can buy it rather download the compiler that is just personal usage. Why is embarcadero doing that when there are products like Visual C++ and Free Pascal that are cheap? Whats the big deal hiding anything Borland has done? Why you don’t sell those software anymore since you don’t want to give the free compiler to the people? You want to improve your sales since you are a manager… You don’t want a developer having a compiler for long right ? don’t you see that a developer and you are connected and depended with the quality of software the developer will provide? You will make more money if the developer sells his product don’t you get it? If you restrict the developer he will leave you … Look at Microsoft and their Visual Basic Developers or the Visual Studio … Microsoft is stuck with their .net that was made by the BORLAND people … David I will speak for my self. I believe that the embarcadero people are good people with some exceptions don’t be scared to give the old to the developers they will always buy the new if it has new things to offer what are the new things ? Libraries components and if the price is affordable I believe you should change the Price of the Professional version and remove the Starter … a price equal to the price of Visual studio to the professional sounds competitive don’t you think ? This is what I would like to see David. Restricting me or stopping me and blocking me to evolve is equal to block yourself because I am a developer I want to evolve and you do not allow me todo so. If I evolve you evolve with me. This is a FREE LESSON I GAVE TO YOU DAVID and I am sure some people know who I am very well. If I was on your position I would have exploded the sales of embarcadero and I would have evolved along side with the developers that would support me. If we could vote they would vote for me to make it simple for you. Why they would vote for me ? because I would help them evolve while you do not.

  • David Millington
    David Millington Monday, 18 July 2016

    The new compiler is a replacement for the old one - the v5.5 compiler is about fifteen years old at the moment, and we want to provide a new, up to date version. It can compile all the same code the old v5.5 one could, but supports new language features, new optimisations, etc.

    As for license differences, while we have a new license, the core items are the same. In fact some parts of the old v5.5 license were copied verbatim into the new license. The same core conditions apply to both the old and new one.

    We certainly do want to help our developers evolve. Our tools are constantly having new features added we think will be useful, and that goes for the compiler as well. In fact, releasing the new compiler is something we hope will be useful, so that people using the old compiler can use the new one instead and become up to date. As for exploding the sales numbers - of course, increasing sales is something we want to do. I'm actively investigating strategies here. If you have concrete ideas or suggestions, you are always welcome to email me at firstname dot lastname @embarcadero.com.

  • SPYRIDON MANTZOURATOS (GREEK)
    SPYRIDON MANTZOURATOS (GREEK) Monday, 18 July 2016

    Give at least the option to those who have the STARTER editions of Delphi or C++ to download those things that where supposed to be free. As of the License of the 5.5. is that it was not personal usage only but free for everything. If am wrong please show me where in the license it states that it was only for personal usage ? That means a person can Compile and distribute something with the produced compiled item he made with 5.5. while with the new licese of 10.1 Berlin he can not you are restricting the person. Why this is so important? a person with a Delphi can or might need to compile something in C++ he can do it either with Berlin or with the 5.5. If he does it with berlin he wont be able to distribute the compiled item while with the BORLAND FREE 5.5. HE CAN. SO THE BOTTOM LINE David please add a link for download to those free items and tools at least to those who own the starter edition of BERLIN edition lets start from now what do you say for my proposal ? have i not explained it nice to you? you nee to give flexibility to the developers today developement is a complex process involves many languages

  • David Millington
    David Millington Monday, 18 July 2016

    Hi Spyridon. You definitely can compile and distribute something you make with the new compiler - we would never restrict that! Allowing that is specifically mentioned near the top of section 4 of the EULA. There is quite similar text in the old EULA for the old v5.5. The old v5.5 also had similar conditions for personal and corporate use to the new one. Reading it, I do not see where you are getting a difference in the two.

    I'm going to suggest again that we move this conversation to email. If the above reply doesn't answer things for you, could you email me please? I would be happy to discuss it further.

    Edit: I have deleted your other comments because they were a little rude or angry, including to other posters, and there were so many they were starting to take over several entire threads. Please feel free to email me - I'm very happy to hear everything you have to say.

  • David Millington
    David Millington Tuesday, 19 July 2016

    Hi Spyridon. There is a difference between the free compiler, the Starter edition of C++Builder, and the Pro/Architect/Enterprise editions of C++Builder.

    * Pro/Architect/Enteprise are normal: buy a license, you can do whatever you want (within reason :))

    * Starter is meant for getting started, for having a low-cost entry. We ask that when you start making enough money to buy Pro, that you do - that's the revenue clause. The idea is that a startup or solo developer can use Starter to do their initial development - ie they can start for a very low cost, because we want to help people in that position. Starter includes the VCL and FMX, for Windows, so it's the compiler, debugger, IDE, some frameworks - a good basis.

    * The free compiler is just the Win32 compiler and associated Windows headers and libraries. It does not come with the FMX or VCL or other frameworks, apart from the plain WinAPI ones.

    The free compiler is different to (is much smaller than) the Starter edition, which is different to Pro/Architect/Enterprise.

    I'm not a lawyer, so none of this is legal advice. However, much of the v5.5 license from 2001 or whenever it was was copied into the current EULA. Specifically, version 5.5 had a clause, "...grants to you as an individual, a personal, nonexclusive license to install and use the Software for the sole purposes of designing, developing, testing, and deploying application programs which you create... provided that you are the only individual using the Software. If you are an entity, Inprise grants you the right to designate one individual within your organization..." In other words, a single-user license, allowing single-user company use.

    The new compiler has the exact same text.

    In addition, the new EULA says, "Customer may reproduce and distribute programs which Customer creates using the Licensed Software without additional license or fees..." making it explicit that yes, you can distribute software you compile with this compiler.

    So, this new version of the free compiler has the same license terms as the old v5.5 version did. If you were happy with the license of the old v5.5 compiler, hopefully you will be okay with the conditions of the updated one, too.

    I hope that answers your questions. Once again, I invite you to please email me (david dot millington @embarcadero.com) - I feel this discussion would work better over email. If you have other questions (I deleted three other comments, I'm afraid) then please email me. I'm always happy to help; I just don't want to have a huge off-topic comment chain on a blog post. I think the licenses for each product are quite clear, and the license for the new free compiler is very similar to the old free compiler.

  • SPYRIDON MANTZOURATOS (GREEK)
    SPYRIDON MANTZOURATOS (GREEK) Monday, 18 July 2016

    David the Starter edition of the IDE has the same compiler you explain YES OR NO ?
    The License of the Starter restricts the people up to a revenue so again we end up to the restriction of distribution so if a person has compiled C++ code with lets say the starter that is limited to 1000 dollar and he makes another program lets say Delphi Pro he will have a problem... The Problem David is the way the legal department of Embarcadero has made the restrictions and license terms. The lawyers are not developers to understand how the whole thing works and what deadlocks people might come up to. ofc you might say who can identify an OBJ file right and what if that OBJ can be linked etc etc. You might say WHO CARES right ? well i care. and i can tell you where it might be used. In a TRIAL lets say 2 companies have some arguments about some copyright issues all those things will be examined ... I want the people to get to know and understand the licensed software restrictions and regulations and how complicate it is. I create something and i do not know if i can distributed it or if i will be inside the license or not because you have placed terms like the revenue so if some one is 1200 revenue he violated the terms and he goes to JAIL for copyright violations. 5.5 was free it has no words of Shareware inside it was given to people free to design, create test and distribute software with no restrictions. If there is no restrictions as you explain for this compiler why there is restriction to the Compiler the Starter edition has since they are the same ? it does not make any sense. The restrictions are stated in your website
    Library source code Limited
    Commercial use license Single-user

    The starter is Limited (great for a starting business)

    Can you please explain to all of us what that means ? when i read it i can understand that i do not have the right to distribute the produced exebutables or binaries to others except for myself its only for personal usage used by ME yes or no DAVID please correct me if am wrong...

    Borland does not exists anymore C++ 5.5. considered (Sombie ) a license was made that times was free thus it remains free more over there is nowhere the word Shareware inside the license all it asked is people who have a register name can use it. There is no restrictions what so ever with the Berlin etc etc. We can have a full investigation about that if you want with your embarcadero lawyers but this is what i see it is.

  • Josue Andrade Gomes
    Josue Andrade Gomes Thursday, 14 July 2016

    I couldn't find the resource compiler in the package. How is it named?

  • David Millington
    David Millington Monday, 18 July 2016

    Hi Josue - if you download the package again, it should have the resource compiler in it (rc.exe and rlink.dll). You might need to clear your browser's cache.

  • Josue Andrade Gomes
    Josue Andrade Gomes Monday, 18 July 2016

    Hi David, thank you. I'll download it again.

  • Yilmaz Yoru
    Yilmaz Yoru Thursday, 14 July 2016

    Please read "Installing and Using the Embarcadero C++ 10.1 Berlin Command-line Compiler.txt" in in BCC101 directory

  • Please login first in order for you to submit comments

Check out more tips and tricks in this development video: