CLion 2017.3 released with C++ support improvements, Valgrind Memcheck, Boost.Test and much more

Please welcome CLion 2017.3!

This year’s third release of CLion managed to accomplish both missions – bring dozens of C++ language support fixes, and overhaul and integrate new tools like Boost.Test and Valgrind Memcheck. Besides, v2017.3 updates a number of bundled tools, provides a simpler and more flexible way to configure toolchains, and improves the UI for running/debugging your applications.

CLion 2017.3 released!

Read on for more details and get a free 30-day trial to evaluate all the new features and enhancements:

Or watch this overview video from Phil Nash:

Download CLion 2017.3

Continue reading

Posted in Announcement | Tagged , , , , , | 49 Comments

CLion 2017.3.2 bug-fix update

CLion 2017.3.2, build 173.4301.33, is now available for download. If you’re using CLion 2017.3.1, a patch-update will be available shortly.

Download CLion 2017.3.2

In this update:

  • Ability to pause program output in the terminal (IDEA-140061). This can help when scrolling the output back while the program is still running and producing new lines to the output.
  • Fix for the bundled GDB 8.0 crash on Linux when debugging certain inferiors (CPP-11480).

Full release notes are available by the link.

Your CLion Team

The Drive to Develop

Posted in Announcement | Tagged , | Leave a comment

CLion 2017.3.1 update is available

CLion 2017.3.1, build 173.4127.32, is now available for download. If you’re using CLion 2017.3 or CLion 2017.3.1 EAP, a patch-update will be available shortly.

If you haven’t yet upgraded to CLion 2017.3, good time to do so right now!

Download CLion 2017.3.1

This bug fix update:

  • Brings Catch 2 support
  • Updates bundled CMake to v3.9.6
  • Makes Generate function from usage respect template parameters
  • Fixes a couple of regressions in C++ parser

More details can be found here and the full release notes are available by the link.

Ubuntu users can get this update via snaps:
$sudo snap install clion --classic

Your CLion Team

The Drive to Develop

Posted in Announcement | Tagged , | 1 Comment

C++ Annotated: Sep – Dec 2017

Today we are happy to share our next compilation of C++ news with you.

Subscribe to the regular C++ Annotated and be the first to get the next edition!

C++ Annotated: September – December 2017

This last part of the year 2017 has been full of great conferences and meetups, hot discussions in the committee on C++20, interesting articles, and big releases. And, of course, the biggest news – C++17 is now officially signed and published! 🎉

In this edition:

Continue reading

Posted in Uncategorized | Tagged , , | Leave a comment

CLion for Embedded Development Part II


This is a second guest blog post by Ilya Motornyy about programming for microcontrollers in CLion.

CLion for Embedded Development Part I

Ilya Motornyy
Ilya Motornyy

Java/JavaScript Developer at
DIY Electronics and Embedded Programming Enthusiast


About one and a half years ago I wrote a blog post about using CLion for embedded software development. Long story short, I used an ST demo board (reflashed into SEGGER JLink-compatible probe), STM32CubeMX code generator, GCC ARM toolchain, and SEGGER Ozone on-chip debugger to run some demonstration project. That combo seems to be a working solution, but, on the other hand, there were some complications with the re-flashing probe, with running an external debugger (why would we run one if we already have awesome CLion?), also there were SEGGER license limitations, etc.

Of course, I wasn’t happy having all of those problems and tried to find better solutions. Now it’s time to show what I’ve managed to achieve. Fortunately, during this time, both CLion and CubeMX were improved a lot, made more stable, and, most importantly, CLion now supports remote GDB. Now it’s possible to use OpenOCD (Open On-Chip-Debugger) as a flash probe and as a remote gdb server. This unlocks the possibility to get rid of both SEGGER license limitations and using a commercial debugger in favor of open-source tools. Also, there is no need anymore to reflash any on-board probes, we can use it as-is, even for flashing your production target devices (refer to ST Nucleo or Discovery board user reference).

I managed to run this environment with vanilla CLion, but the project setup was quite complicated and time-consuming, and at some point, it turned into the idea to write my own plugin for CLion, which puts it all together. Now the plugin is in beta stage, published to the JetBrains plugin repository, and I am glad to show how it works. Today we will run a small demo project (It’s gonna be blinking LEDs! Surprise!) using one of the most popular boards – STM32F4-Discovery. The same example, with minimal changes, can be done using any of STM32 board of Nucleo, Discovery or EVAL series, since they all have LEDs onboard.
Continue reading

Posted in Tips'n'Tricks | Tagged , | 28 Comments

CLion 2017.3.1 EAP

We are glad to announce the start of Early Access Preview for CLion 2017.3.1, a bug-fix update to the recently released major CLion update. Build 173.4127.6 is now available.

Please, note that this EAP build requires an active subscription (or you can start a 30-day evaluation period).

Download CLion 2017.3.1 EAP

Templates in Generate actions

In CLion 2017.3 Generate Definition started respecting function templates. With this update Generate function from usage respects template parameters:

Catch 2

Special icons in the left gutter to run/debug tests appeared in CLion 2017.3. Besides, these icons also report the status of the tests: success or failure. This works for Google Test, Boost.Test and Catch frameworks. And now they are shown for Catch 2, a recently released version of Catch framework.

Other improvements

This build also addresses the following issues:

  • CMake
    • CLion now reports the CMake build progress and shows the stop button, so you can interrupt the CMake build of your project at any time.
    • CLion now bundles CMake 3.9.6
  • C++ language support
    This build mostly addresses regressions appeared after huge overhauls in C++ parser:
    • False “Initializer string is too long for array of chars” error when concatenating string literals (CPP-10787).
    • False “Function … was redefined” error for template function specialization definition, when located in the same file as declaration (CPP-11206).
    • False “No matching constructor” error when template class inherits a constructor (CPP-11292).

Full release notes are here.

Download CLion 2017.3.1 EAP

And finally, Ubuntu users can now use snaps to install CLion (for now use Edge channel where we store our EAP builds):
$sudo snap install clion --classic --edge

To learn about our plans for 2018 and CLion 2018.1 roadmap check this post.

Your CLion Team

The Drive to Develop

Posted in Early Access Preview | Tagged , , , | 12 Comments

What’s next? CLion 2018.1 roadmap


Two weeks ago we released this year’s third big update – CLion 2017.3! It made C++ code analysis more accurate in many areas and added support for MSVC extensions, integrations with Valgrind Memcheck and Boost.Test, and many other improvements and new features.

Now we’re ready to share with you our primary directions for 2018 in general and the roadmap for v2018.1 in particular.
Continue reading

Posted in Announcement | Tagged , , | 36 Comments

CLion 2017.3 Release Candidate 2


Welcome the 2nd release candidate (build 173.3727.83) for CLion 2017.3! We’re getting really close to the release day and we’re looking forward to hearing your feedback.

Please note that to use CLion 2017.3 RC2 you need to have an active subscription (or start a 30-day evaluation period).

Download CLion 2017.2 RC2

The build addressed several issues with code analysis when the Eigen library is used and polishes the UI in the Valgrind tab. Release notes are available by the link.

Your CLion Team
The Drive to Develop

Posted in Announcement, Early Access Preview | Tagged , , , , | 19 Comments

CLion 2017.3 Release Candidate

CLion 2017.3 release is just around the corner! And today we are glad to announce CLion 2017.3 Release Candidate (build 173.3727.18). We encourage you to try the build and kindly ask you to share your feedback and comments with us and report any bug at all to our tracker.

This build addresses the following issues:

  • 2017.3 EAP brought Valgrind Memcheck integration into CLion. This build improves the UI by placing the frame information and the code preview in different tabs:
  • False ambiguous error on tuple initialization was fixed (CPP-10995).
  • Clang-Tidy integration was not working properly in case of Cyrillic symbols in the files.

The full list of fixes and improvements is available here. Note, that this build doesn’t require an active subscription.

Download CLion 2017.3 RC

Your CLion Team
The Drive to Develop

Posted in Announcement, Early Access Preview | Tagged , , , | 41 Comments

CLion 2017.3 EAP: code generation improvements, JUCE support and more


CLion 2017.3 EAP (build 173.3622.10) is now available for download.

This build brings the following changes and improvements:

Download CLion 2017.3 EAP

Continue reading

Posted in Announcement, Early Access Preview | Tagged , , , , , , | 12 Comments