Book Image

Instant MinGW Starter

By : Ilya Shpigor
Book Image

Instant MinGW Starter

By: Ilya Shpigor

Overview of this book

If you need stable, dynamically developed, and easy-to-configure instrumentation for application development, look no further than MinGW. It supplies all the dynamic tools you need to enable you to develop Microsoft Windows applications, while allowing for easy integration with the software that you already use. This book will give you the expert guidance you will need to start developing applications with Instant MinGW. As well as help you to become an experienced user of MinGW, the book will also detail some of the more common pitfalls that beginners face when first using the software, and more importantly, how to avoid them yourself. This book will help  you through the installation process, and help introduce you to compilation, debugging, and profiling with MinGW. It will guide you in importing existing projects developed with Visual C++ Integrated Development Environment to MinGW, and show you how to start using it to develop your current projects with minimal effort.This book will also introduce you to developing applications with several well-known, open source, GUI libraries and the MinGW software.With Instant MinGW Starter, you will gain a reliable, comprehensive, and supremely beneficial introduction to the MinGW software, and quickly learn how to use it for new, and old, projects.  
Table of Contents (8 chapters)

Foreword

"Yoda's aphorism ("There is no 'try'") sounds neat, but it doesn't work for me. I have done most of my work while anxious about whether I could do the job, and ensure that it would be enough to achieve the goal if I did. But I tried anyway, because there was no one but me between the enemy and my city. Surprising myself, I have sometimes succeeded."

Richard Matthew Stallman,

Launcher of the GNU Project and founder of the Free Software Foundation

Sometimes it seems that the world is limited to just the Microsoft Windows operating system and that the developing of complex applications is impossible without the latest version of MS Visual Studio. But there are open houses where there is no need to look at the sky through the windows. There are a lot of development environments that are different from commonly used ones, and this variety allows us to feel the world of the software in its entirety.

PCs are losing their significance increasingly and are yielding the personal computing device's role to tablet computers and smartphones. The world does not consist of only one hardware architecture nowadays. The different CPU architectures and operating systems for supporting them are available now. The ability to develop cross-platform applications is important too.

Many software development tools have been created as a part of the GNU Project since 1984 when the project started. The GNU compiler collection is a part of these software development tools.

Minimalist GNU for Windows (MinGW) is a software port of the GNU Toolchain for Microsoft Windows operating system. Its minimalism means that MinGW doesn't provide the whole POSIX compatible environment. In the meantime it doesn't yield to its ancestor for Unix-based systems but allows you to feel Unix philosophy.

MinGW allows open source software developers to port their software to the Windows operating system. MinGW software with any of the well-known cross-platform framework integration allows you to develop cross-platform applications even if you don't care about this feature. This feature provides a great competitive advantage if your customer decides to change his or her computing platform to another suddenly. You don't need a special Linux version or additional developer team in this case. Just make minor changes in your software and that's all you need.

The MinGW software allows you to use plenty of open source C and C++ libraries that integrate with MinGW well. You can develop applications with more features and reuse source code thanks to these libraries. Often open source libraries' licenses allow you to choose if your application will be a free software or a proprietary one.

The world of command-line interface, Makefiles, and build systems can be very enthralling like other new things. Compiling your program with new tools always leads to surprises. It finds faults in places with seemingly clean code. Try to calm it down.

You do not get lost. You can integrate MinGW software with an integrated development environment (IDE), such as Code::Blocks, Qt Creator, and even Eclipse if you will tolerate Eclipse's slowness.

Good luck! And don't forget to use a control version system for your source code. The frequent commits are a pledge of quick bugs searching that has been added to the developed source code with any new feature or code correction.

This book allows you to quickly start new software project development thanks to detailed explanation on how to create a necessary development environment. You will know how to download necessary tools, choose user interface library and compile applications. At first, it is important to understand where to start. I believe that this book will dispel your doubts and you will understand that these things are actually simple.

Try it!

Vitaly Lipatov

CEO, Etersoft