Are you a student who is learning C++, or a professional who has already been doing C++ coding perhaps on a corporate Linux system, and unsure where to start to transition to a Mac. Or, maybe you already write C++ in a Mac environment but want to explore some other options to improve your coding speed and efficiency.
So everything is clear, we are discussing here are Integrated Development Environments (IDE). An integrated development environment (IDE) is a software package which combines all the basic tools developers need to write and test software. An IDE will typically contain a code editor, a compiler or interpreter and a debugger that can be accessed.
This a quick guide to introduce some options and provide simple examples of how C++ coding can be accomplished on a Mac. We will look at what options are available on the Mac already and also some other IDEs that are available to use on a Mac. Different users will likely care about different features, but will we give you a rundown of each option. The final option is to use Linux on your Mac.
Table of Contents
Apple’s own free Xcode, a full-featured C++ IDE, is a good place to start for writing C++code on a Mac. XCode is actually designed specifically for developers to write macOS, iOS, tvOS and watchOS applications using Swift or Objective-C. If you already do iOS and MacOS development, then Xcode may be your best option for C++ as well.
However, it is not widely used professionally as a C++ development system, where primarily Linux and Java-based IDEs are used. Nonetheless, it does do a good job.
XCode includes a GUI debugger, and you can change the “C++ Language Dialect”, and use lldb
You can download it for free from Apple, using your Apple ID.
This popular IDE for C/C++ developer has been created by the well-known JetBrains. It is available on other platforms as well and is a respected tool.
It contains lots of useful functions which will help your developing, such as:
- Smart editor, with good code completion
- Embedded terminal
- A lot of configuration options, to set it up how you like
- Keyboard shortcuts so you can work faster – eg. add class members, override/implement functions, wrap a block of code with a statements
- Well automated refactoring
- Code analysis
- CMake support
- Visual Diff and VCS integration
Qt is one of the most popular libraries. You can download the open source version for free. There is also a pro version of Qt available for purchase, which offers more features.
Qt designer is one outstanding feature of Qt Creator. It is for designing and building graphical user interfaces (GUIs) from Qt widgets. This is a really great choice if you want to create a GUI for your application. You can compose and customize the widgets, then test them using different styles and resolutions directly within the editor.
- Qt Data Visualization
- Code editor has syntax highlighting and autocompletion.
- Qt Quick Compiler
- Boot to Qt
- Qt Quick 2D Renderer
- Qt WebView
- Qt Virtual Keyboard
- Clang is supported
- Visual debugging
This a good open source IDE, which is also available across multiple platforms and is more industry standard. It is completely free, which also makes it an attractive option. It is very similar to Xcode, and you will need XCode and Java installed to use it.
- C/C++ development tools
- Eclipse Git team provider
- Mylyn Task List
- Remote system explorer
- A range of plugins is available. It has a good community of users, so a lot of good plugins have been developed.
However, you should be aware that you will need to set up some other things to be able to debug your code- described at StackOverflow.
This a free multi-platform IDE. It has a lot of good features which can help you in development.
- Debugs your code, and points out errors, plus gives you hints for code optimization
- Autocomplete is very good and allows fast coding. The IDE will auto-complete your code (variable names / function references / library functions / classes / ids) wherever possible.
- Qt Toolkit support
- Remote development
- File navigation
- Compiler Configurations
Like Eclipse, Java has to be installed along with some specific C++ compilers. You may need to do a bit of fiddling to get it up and running at first.
One other drawback is that it some users have reported that it can be memory heavy and slow.
Install Linux as a Virtual Machine on your Mac
If what you need is to do some serious C++ coding on a Mac, this is one final option you should not neglect to consider. It is a slightly more complex solution, but very satisfying and having access to Linux on your system has other advantages too. If you are already comfortable working in a Linux environment, this should not be a daunting option at all, but it undoubtedly does require more work than the other solutions here.
Since most professional C++ development is done in Linux along with its suite of GNU compilers and debugger, and Java-based IDEs, this is actually a very sensible solution. This way you will be able to use all the industry standard tools.
This option involves first acquiring a Virtual Machine system for your Mac, then install your Linux operating system of choice in that Virtual Machine. Once that is setup, you can really do anything you could possibly need in C++, get as complex as needed, and debug.
The top two Virtual Machine programs to look at are Parallels Desktop and VMware Fusion. Both have been around for years and are stable and robust. We recommend trying Fedora or CentOS as your Linux installation because they are free and come with the required GNU compilers (g++) and debugger (gdb).