Choosing and using an IDE - c++

I've been using Visual Studio 2010 for C++ development for a while but I'd like to move to an open source option. I'm considering using Eclipse C++. Are there any problems with it that I should know about? Also, I want to develop GUI applications. Presumably Eclipse allows this but I can't find any documentation on it (surprisingly)?
Can someone please point me in the right direction for starting with Eclipse?
Thanks for your help.

I was about to close this as a duplicate shopping question, but the GUI part is what stopped me.
You have two very good options:
Qt Creator: integrated version control, debugger support and Qt GUI editor.
Code::Blocks: integrated debugger, some plugins and a wxWidgets GUI editor.

Netbeans is better and faster than Eclipse in coding C++. that's my personal opinion

Related

Can't get QT to work in Visual Studio 2019 and what is the best place to learn QT?

So I do know C++ fairly well, I have used it and C for the past year in college. I'm trying to make an application with a GUI that needs a simple input box and easily customizable windows. The main focus of the project however is a lot of backend processing, I just need a GUI for the user. Is there a place where I can just learn the quick basics of QT? Also for some reason I can't get QT to work on Visual Studio 2019.
I get this error:
When I go to input the version, it doesn't actually save when I click OK.
In Manutention Tool you should download these Qt components marked as MSVC or UWP:
A MinGW build of Qt will probably work only with CLion and Qt Creator
And don't download the latest Qt, because VS doesn't work well with them.

Free alternative to QTCreator for QT/C++ development

Let me preface this by stating I have vision problems so I have to magnify my screen upwards of 400% minimum to read most things including code - even when I am using a dark theme as I do when I code.
QTCreator has an issue where it moves the view on me with most keystrokes & actions - usually to the top left corner by the project file listing. I've posed questions to QT Support and even cloned the source for QT Creator looking to see if I could identify a relatively easy fix - to no avail. So now I'm trying to find a free (as in no financial cost) alternative to QT Creator so I can keep programming using QT Creator in C++.
I've tried Visual Studio Community Edition (2017 and 2019) and had problems getting things to build. It seemed like I had to rebuild the entire framework libraries for MSVC or else it wouldn't work. Additionally it seems it finds compilation errors in even the framework source - which doesn't even look wrong to me or I'd try to repair it.
I tried Eclipse (as I'm a Java engineer for my job so I'm familiar with Eclipse for Java and it does not have the problem that QT Creator has. The QT plugin - when I try to put a simple line of #include - It claims "QApplication" is unresolved. I've looked for this and all the answers say about Project->Properties->Paths and Symbols but as of 2019-12 and 2020-03, there are no options in settings for paths and symbols unfortunately.
A colleague suggested CLion from JetBrains but unfortunately it appears you have to pay for that. I have no intention of paying for a compiler or IDE.
Any thoughts on how I can get around this view changing problem or an alternative to QTCreator that doesn't cost money? If there's a setting in one of the applications I may have missed, suggest it with the version of the appication and I'll look for it and reply if it doesn't exist for whatever reason or accept your answer if it does and fixes the problem.
Thank you!
If you are familiar with Eclipse but have issues with the plugins and you intend using it for C++ I recommend checking out Cevelop (https://www.cevelop.com/) it's basically Eclipse but only for C++ and has some optimizations.
If that doesn't work for you technically you should be able to use any code editor like VSCode or Atom, but I do not know how well that works with the Qt library.
CLion is free for students but I think that doesn't apply for you.
NetBeans (https://netbeans.org/) is also free and cross-platform.
(https://netbeans.org/kb/74/cnd/qt-applications.html)
It should be possible to use Qt within the IDE.

Creating GUIs for application

This is a question I've been wondering about for a long time.
How do you create an Interface for your program ?
It seems to much of a pain to position form controls and buttons using just code.
I'm looking for something similar to Visual Basic where you can drag and drop controls onto the window. But, I want to do this for applications written in C++.
Can It be done with compilers like MinGW on Eclipse ?
If you don't want to go the Qt route you can use ResEdit which is freeware. It will produce Win32 friendly .rc files that can be built with the MinGW resource compiler and used in Win32 applications.
There are some C++ Win32 wrapper libraries available though I'm not aware of any that are nearly as mature as Qt. I believe WinxGui is a port of WTL (or at least claims to be compatible with WTL) for GCC. It doesn't look like there has been much activity on the project site for a few years however.
What you're searching for is called Qt, both Eclipse and MinGW friendly.
Check out this nice article.
Qt toolkit is written in C++. So you can use it to develop GUI. It also comes with Qt Designer and Qt Creator IDE and tools.
Qt Reference Documentation
Qt Designer Manual
Qt Creator IDE and tools
And you can use MinGW to compile the code. You don't need to download MInGW separately. When installing Qt toolkik, it asks if you want to download MInGW also, just say yes to it. It will then download the correct version of MInGW itself.
The 1.7 GB download you look at is probably the full Qt SDK. This is not just Qt and documentation, but also includes the Qt Creator IDE with the Qt Designer "Form builder", the MinGW compiler, debugger, examples, demos, and some other stuff. There's also an "online installer" that allows you to select the packages you want before downloading everything. That's probably what I'd use if I were starting from scratch on Windows.

C++ open window hello world

How can you write a C++ program to open a window like this one...
Is it possible or can apps only be ran from the command line?
I'm using the G++ compiler... Do I need something else like visual studio?
Can I do it just by writing code?
Take a look at Qt which is a cross-platform framework that easily builds GUIs.
Then check out a Qt tutorial, do a google search. Here is one that will get you to "hello world"
Also, you might want to check out Code::Blocks as an IDE. It will use your already installed g++ compiler.
You can use Borland C++, Visual C++ they has GUI or wxWindow or GTK library.
GUI programming requires the use of additional libraries. There is a C++ GUI library supplied by Microsoft for Windows called MFC. There are many other GUI libraries out there.
If you use these GUI libraries, you don't need to run the application from the command line.
Search for WinApi Tutorials like this one
there are alot
or you can also you the Visual Studio MFC application wizard and create a dialog application
Microsoft provides a tuturial for doing that:
http://msdn.microsoft.com/en-us/library/bb384843.aspx
The best and most low-level way of doing this would be by using the Windows API:
https://learn.microsoft.com/en-us/windows/win32/learnwin32/learn-to-program-for-windows
Microsoft itself provides excellent tutorials and documentation on how to program with their Windows Application Programming Interface, but there are also numerous other tutorials out there that can be found quickly with a google search.
To create a window like the one you ask about in the question, you would be looking for the following link:
https://learn.microsoft.com/en-us/windows/win32/learnwin32/your-first-windows-program
It might seem daunting at first, but the Windows API is extensive and provides a huge amount of functionality, on top of just creating GUIs. It would probably be worthwhile familiarising yourself with it if you are interested in Windows programming.
You need to use the Windows api from within C++.

How to design an IDE using Qt?

My friends and I are working on a compiler design as a project in my university (Damascus University).
We're using (Flex, C++, Bison, Qt) to do the job.
I was wondering if there is a way to design an IDE to our compiler using Qt. I know how to do the job but I'm asking to find out if there is some resource to start with, or if there is a pre-built design to do that job.
Thanks in advance :)
Start by looking at the source code of QtCreator. It is very clean and easy to read!
In addition to already suggested QtCreator you could check the qt-apps.org development environments website; a lot software there is open source
Perhaps extending KDevelop with a module would be a better idea. Qt creator is awfully focused on Qt. Other interesting starting points would be Edyuk (they've separated out their editor component from the rest of the application) or good old Scintilla (used by PyQt from Riverbank).