This question already has answers here:
windows version of the GDB frontend DDD
(5 answers)
Closed 4 years ago.
I heard that there is a graphical debugger by GNU called DDD, which will help to learn C. I have searched DDD for windows 7, but i won't get anything useful. All i saw is DDD on Linux. My question is can i install DDD into Windows 7 ? if so where can i find set up file and other information ?
You can do it installing Cygwin. In this way you can use all the linux GNU Tools under Windows.
Cygwin is a Unix-like environment and
command-line interface for Microsoft Windows. Cygwin provides native
integration of Windows-based applications, data, and other system
resources with applications, software tools, and data of the Unix-like
environment. Thus it is possible to launch Windows applications from
the Cygwin environment, as well as to use Cygwin tools and
applications within the Windows operating context.
Here's the Cygwin installation guide.
First off, because you're learning C try to resist the temptation to depend entirely on your debugger to figure out what's wrong with your code. A debugger assists the brain but shouldn't replace it.
That being said, it might be less ambitious to start with a free IDE+toolchain with a decent debugger that's a bit easier to get up and running than Cygwin & friends.
I've always liked the now opensourced Watcom C toolchain a lot, and it comes with a nice debugger. It's showing its age a bit, but it's still a very capable tool.
Microsoft still offers its Visual Studio Express "lite" version of VS for free. Aside from some restrictions, it's a Visual Studio 2012.
And of course there are the IDE's built mostly around gcc, like Code::Blocks, Eclipse CDT and many others
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I've been coding C/C++ in a Linux environment, and that has been a breeze (Open terminal > Vim > code > gcc > done). I'm trying to get into doing the same in Windows, and it hasn't been nearly as easy. I've gotten Vim to run out of terminal, as I do not like IDEs, thus I'm looking for a Windows compiler that I can work with via command-line.
My problem is that I can't find the official Windows compiler for C/C++, Microsoft support was useless, and MSDN keeps pointing me to Visual Studio. There are a plethora of questions here on SO, and the web about compilers for C/C++ on Windows, with suggestions like Dev-C++, but that comes with GCC. Visual Studio supports C/C++, and I would assume that compiler is the official one, but I've had no luck in finding just the compiler. The closest I've gotten is either the Windows SDK or Visual Studio Express 2015.
Additionally, I was told in the Stackoverflow C chat room, that C is no longer a subset of C++, so does that mean I need to find 2 compilers, one for C and one for C++?
I'm also trying to figure out where C/C++ libraries are. On Linux, they're already there. Is that the case with Windows, if not where do I find their C/C++ libraries?
I didn't expect it to be so difficult to get started, nor did I expect to get lost so quickly.
Interestingly enough, I found an answer to the OP's question which I believe warrants a post rather than a comment.
Microsoft does provide a stand-alone Visual C++ compiler in what they call 'build-tools'. You can get one here:
https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017-rc
(Look for Build Tools at the bottom of the page)
First of all there is no "official" compiler for Windows; the fact that Microsoft produce both development tools and operating-systems is a historical coincidence I won't do into. There would be all sorts of anti-trust issues if they tried you to force you to use only their tools. There is an official Windows SDK; and that is only available with Microsoft tools; but that too is not a barrier to Windows API development using other tools.
Visual Studio is the name of Microsoft's IDE that supports a number of development tools and languages. The C++ compiler component of Visual Studio also supports C compilation (in common with more-or-less all C++ toolchains - that's why you often see the much hated on SO term C/C++ - because most often the toolchain is a C and C++ toolchain - not because there is a language of that name). The fact that C is no longer an exact subset of C++ is not really an issue.
All compilers, regardless of whether or not they come embedded in some IDE have a command line interface. Microsoft fully document theirs, so I am not sure why you could not find it: https://msdn.microsoft.com/en-us/library/f35ctcxw.aspx.
To get Microsoft's tools you have to install one edition or another of Visual Studio, but you do not need to use Visual Studio to drive the compiler. However perhaps the most compelling reason to use Visual Studio is its debugger - by far the best debugger available for any platform (IMO). There is a command-line debugger CDB, but unless you love whipping yourself with birch twigs or using GDB (much the same thing), then you'll hate it.
Microsoft have long concentrated on C++, and for a long time C was left at the ISO C90 level of compliance; this has changed somewhat in more recent releases and while 2015 is improved, you would do better to use Visual Studio 2017. There is no longer an express edition of Visual Studio, it has been replaced with the "Community Edition" with slightly less permissive licensing. https://www.visualstudio.com/downloads/
All that said, you do not have to use Microsoft's compiler to write Windows applications in C. MinGW (http://www.mingw.org/) is a native Windows GCC based toolchain that instead of using the POSIX dependent GNU C library, uses Microsoft's C runtime (via the DLL's included with Windows), and includes the necessary header files and export libraries to access the Windows API DLLs too. Since Microsoft no longer licence the official Windows SDK (and the open-source MinGW could hardly use it in any case), the MinGW Windows SDK headers used to lag somewhat, but since Microsoft have more-or-less abandoned the Windows C API in favour of .NET, the API is more or less fossilised.
The advantage of MinGW is that it is the same GNU toolchain you are used to, and includes all expected GNU utilities such as make, gdb and binutils. It even includes a bash-like shell MSYS (which you do not have to use, but makes porting, configuring and building some open-source projects easier).
Like Visual Studio, Dev-C++ is not a compiler or toolchain. It is an IDE. It typically uses MinGW as its toolchain. The same goes for Code::Blocks for example.
One issue with using the command line in Windows for development is that it is not as complete or fully functional a shell as say bash for example. You may get frustrated with it is you are a bask power-user.
The compiler is included with Visual Studio. It is called "cl" and can be run from the command line. See these links for instructions:
Walkthrough: Compiling a Native C++ Program on the Command Line
Walkthrough: Compile a C program on the command line
They basically amount to "Open terminal > notepad > code > cl > done". Not as hard as you're making it out to be. I believe the instructions in those links also apply to the stand-alone build tools mentioned by the other answer.
There are better editors than notepad, and alternative compilers, but the question wasn't about editors, and cl is as close to an "official" compiler as you're going to get, so we won't get into that here.
I'm developing C++ apps for Linux, but my workstation is Windows 7. I've read that Visual Studio is the strongest C++ IDE for Windows, but I actually want to execute the code on Ubuntu and be able to use a more graphically pleasing debugger than gdb, although the functionality of gdb is pretty good. I'm really happy with valgrind as well, but again, I'd like to be able to leverage that in an IDE in windows.
I currently use QtCreator as my C++ IDE and I edit the files over a samba mount to the linux box. I use Putty to run the Linux commands. I use git as my source control system, gcc as my compiler and cmake as my build system. I like QtCreator, but as I have it configured, I'm not taking advantage of code-completion or debugging.
The closest thing I've seen is CodeWarrior. It allows for executing code on remote embedded systems and a full debugger. Has anyone ever used this for general app development on Ubuntu?
Is QtCreator the right IDE for me? Is there something else that I can do to configure it so that it'll give me those rich IDE features that I'm looking for? Or should I look to another IDE? Also, are there some tools that I've neglected to mention that would make C++ development easier on a Linux box from a Windows workstation?
Thanks in advance...
It is not clear, you run QtCreator on windows?
If so, you can run QtCreator in Linux,
plus install nxserver on Linux,
and nxclient on windows (http://www.nomachine.com/).
So you run nxclient on windows, login to linux,
and work on linux, in compare with virtual machines,
you get more prefomance.
Use VirtualBox and linux virtual machines?
X Windows.
You could install Cygwin to run an X11 server on your Windows 7 desktop, then run an X11 graphical IDE like QtCreator on your Linux server that renders directly to your Cygwin Windows 7 desktop. I actually tried setting this up with Code::Blocks on openSUSE and Cygwin on Windows 7 just a few weeks ago because I'm in the same situation you're in. It works... kind of. There are weird intermittent errors.
Your scenario is exactly the scenario that the X Windows system was designed for, and it is awesome in concept, but the actual X11 protocol design and implementation is, I gather, old and pretty hairy. I have very little experience with X, but the people who do have lots of experience with it seem to complain about it a lot, and I suppose there are good reasons for that. Too bad, because it would be wonderful if there were a technology like X Windows that worked. AJAX is basically a cheap hack for solving the same kind of problem that X Windows tried to solve... running a remote application with local rendering of a rich GUI.
I gave up on X and I still do the same thing you do: I have putty and Samba-mounted files that I edit with Visual Studio. Visual Studio is the best text editor I've ever used. All the other Visual Studio IDE features are gravy.
There's some solutions :
VmWare : not free but really good
Virtualbox : free but less powerfull than VmWare
KVM/Qemu : Free but less powerfull than VmWare
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I've learned C and C++ in Borland's Turbo C++ IDE, the 16-Bit version with that old blue screen background, in which I started off building console programs for Windows. Now that Windows Vista and 7 doesn't support that IDE to be run in full-screen mode, I'm looking for such similar IDE (not necessarily from Borland), that comes with GCC, and doesn't need much learning to use if one has already worked with Turbo C. So is there any free GCC IDE that works with Windows 7? I'll not be using it for developing Windows applications, since I need it to practice on data structure console programs.
Turbo C++ is very old, and the concepts and philosophies of IDE design as (as well as the language C++ compilers are compiling) have developed much further since.
You might try Code::Blocks or Eclipse, but I wouldn't expect a transition as smooth as going to the next version of Turbo C++. (Which weren't as smooth either, BTW. The latest of that series, BCC 5.0 was quite different to the old DOS TC environments, and even that got abandoned later in favor of the very different C++ Builder IDE.)
BTW, does it have to be GCC? Visual C++ Express is free also, the VC compiler isn't worse than GCC, and the IDE is quite good.
There are a few C++ IDEs with many features.
Bloodshed Dev C++
NetBeans C
C++ IDE
Eclipse CDT
CodeBlocks
Also take a look at Cygwin which provides a linux like environment for Windows. If you are making console applications, using a good shell won't hurt.
An open source IDE that runs on Windows that should get more mention than it currently does is QtCreator. While it's tailored to working with the Qt framework, it works just fine for non-Qt-based C++ work (though you won't get much help in the form of UI wizards unless you're using Qt for the UI).
It's much lighter than Eclipse/CDT and I find it easier to use (though I normally use Visual Studio over either QtCreator or Eclipse/CDT).
General information/marketing for QtCreator: http://qt.nokia.com/products/developer-tools/developer-tools
Nokia provides a Windows package that includes the MinGW GCC compiler. Go to the download page and select the "Qt Creator 2.1 Binary for Windows" link (I have no idea why Nokia doesn't link to the download from the info page): http://qt.nokia.com/downloads
Of course if you just want a free C++ IDE for Windows, and don't really care if it's GCC or MSVC based, I'd suggest getting VC++ Express: http://www.microsoft.com/express/Windows/
If you're looking for a beer-free IDE, just download Visual Studio Express from Microsoft - it's not gcc behind the covers but it is tuned very well for Windows.
If you're after a speech-free one, Code::Blocks is the best I've ever seen. The larger setup package for Windows includes the backing gcc compiler and gdb debugger.
You can use codeblocks: http://www.codeblocks.org/
It is not a console IDE but you can build console programs and watch the output in a window.
The best solution if you are using windows is CODEBLOCKS-EP(Education Portal).
You can find it at http://codeblocks.codecutter.org/
Once you find it, I would personally recommend the "Zip (CodeBlocks-EP.zip)" file download.
Hope this helps.
Happy Coding
I can suggest you Eclipse ID with CDT (you can download bundle from http://eclipse.org) + MinGW compiler tool. Or You can use the Code::Blocks IDE.
I like Bloodshed Dev-C++, but I don't know if it runs on W7.
I suggest using CodeLite opensource cross platform IDE for the C/C++ programming languages:
It works great on almost all Operating Systems
Windows XP/7 and 8
Debian / Ubuntu
Fedora / OpenSUSE
Mac OSX 10.5.8
http://codelite.org/
Hello I am putting together a tool chain on my windows Box for Cross Platform C++ Development. I plan on using Boost.Build for building and Boost::Test for unit testing. I will be using Mercurial for my VCS because I can just throw the repo on my external HD and then pull it to either my windows or linux partition. The main thing standing in my way is editor compiler/debugger. Anyone have any suggestions?
With Boost.Build I can technically build with whatever compilers it supports easily. That means MSVC on windows and GCC on linux by using the same script with a flag.
Qt Creator using MinGW on Windows and the GNU compiler on Linux. That's what I use and it works perfectly well. Note that you don't have to use Qt when developing with Qt Creator.
May I suggest CMake on Windows and Linux as you can generate native Visual Studio projects as well as Eclipse CDT projects and plain-old makefiles.
If you are targeting multiple platforms, but find yourself primarily developing on a single platform, I highly recommend a continuous build/integration system to ensure a check-in for one platform does not break the build on the others.
Code::Blocks is a free, open source, cross platform C++ IDE. It supports the MS and GCC compilers, among others.
The main thing standing in my way is
editor compiler/debugger. Anyone have
any suggestions?
Yes: Qt Creator as one download and install will satisfy your three requests -- pick the 'LGPL' license route and download and install the SDK which even installs gcc, g++, ... for you. The integrated debugger is very good, and you get cross-platform behavior from both your code and your tools.
you can use gcc/g++ on windows as well. as for debuggers: gdb and ddd might be in cygwin. editor: vim (beware: it's really a programmable editor, not an IDE).
Vim, gdb, gcc/g++, makefile - you can use them on both - Windows and Unix :)
Yet another vote for Code Blocks or Qt Creator.
There are commercial tools too: beside Visual Studio there are MagicC++ (IDE), debuggers like TotalView, Allinea, Zero-bugs, UndoDB ... if you want to stay with VStudio check these VSBridge and WinGDB.
Anyway you can always use MSVC on Windows and other tools on Unix (gdb/DDD for debugging, vim/emacs for edition) - I've worked in this way a lot of years. Common environment for all platforms is nice, but sometimes it is very hard (almost impossible) to "force" it in company (especially big-company) ;-)
I am setting up a Linux development machine (Ubuntu 9.0.x).
I want to know the best development environment for a C++ developer on Ubuntu - giving my background (see below).
5 years+ C++
5 years Visual Studio
Not much experience using GNU tools (GCC, GDB, make, etc.)
6 months or so of using Emacs at university (about 8 years ago!) - I don't remember anything though ;)
I come from a Windows background so am more at ease with GUI than CLI, although I expect to learn the CLI commands over time. I want to be effective and "hit the ground running" as it were, in terms of developing on Linux.
I am particular interested in tools that will make my life easier for:
1). project management
2). build configuration via GUI (rather than makefile editing - at least for now).
3). debugging IDE that allows me to set breakpoints and step in/out/over
It would be useful if the IDE suggested has a GUI to ease my transition to Linux, but is also customisable (e.g. can accept hand crafted edited make files etc. - when I have learnt how to create them). This will allow me to have more control over the build process later on.
Which set of tools would you recommend in order for me to achieve the maximum productivity in the minimum amount of time on my Ubuntu desktop?
So:
Which application (IDE) offers:
(i). easiest transition from Visual Studio (and ideally can use manully crafted make files)
(ii). extensive debugging capability akin to Visual Studio
for the latest Ubuntu (9.0.x) desktop OS?
As for C++ developing I'd choose Qt Creator IDE for easiest migrating from Visual Studio. I believe it can cover all your needs.
The best tools that you need are:
make
gcc
g++
Your Favorite Text Editor
auto-tools
Qt Creator
Glade
Your Favorite Project Manager
For Ubuntu I suggest you to use Glade, because Ubuntu uses Gnome(GTK).
About IDEs:
Eclipse For C/C++
Netbeans For C/C++
Code::Blocks
Kdevelop
I think you should just bite the bullet and learn enough make, gcc, and gdb to accomplish what you need to do at the command line. If you get that taken care of, you can use whatever editor you like to write the code -- even Visual Studio's editor.
Have a look at Code::Blocks. It's a nice IDE for doing C/C++ and comes with an own build-system. But be sure not to grab the version inside the official ubuntu repository but go to the CB forum and look for the latest nightly build. There are people maintaining repositories with ubuntu packages. I think CB is worth the hassle of installing the latest version.
Link to Code::Blocks Forum
Btw. I did an install some days ago. There are two people maintaining 64-Bit Ubuntu packages. Only one did work, though. It was this one.
You can use Glade Interface designer (glade.gnome.org) for interface design.
BOUML for UML modelling & project management
You can always use eclipse or netbeans for c++ development on linux.
Though I recommend Eclipse, it would automatically generate makefiles, debugging is very easy & you can configure your code repositories within the IDE.