Click here to Skip to main content
15,794,593 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I am a newbie programmer who has some experience in C and C++ development but my knowledge and experience is very limited to the Windows and the Visual Studio environment. Recently I was looking into some open-source projects like Gimp, Inkspace, Code::Blocks...etc. but found myself in frustration because of the unfamiliarity. I couldn't even build any of the projects.

So my question are:
1) What are makefiles ?
2) How do contributors to open-source software write their code ? I mean they must use an IDE. How can I open up an open-source project in an IDE like Visual Studio or Code::Blocks ?

The only open-source project I have ever successfully created is NotePad++. That's because there were Visual Studio project files in the source directory so I just had to double click and hit the button build.


Searching over the internet I've found that some people only use text-editors like vim to write code. I would also like to know what professional C/C++ developers use, IDE or text-editor ? What do you use when you're coding/maintaining large code bases ? People who contribute to software like Linux Kernel, Photoshop, Inkspace...etc, what do they use ?
Updated 12-Feb-15 11:05am
RedDk 12-Feb-15 13:38pm    
I recall attempting to compile makefile projects, presumeably "opensource", but I always knew that the concept of a makefile was somewhat antiquated. Visual Studio "project" has evolved over the years. And as far as the opensource idea goes, I think you're looking for opensource projects that someone has been kind enough to maintain, in a sense, by creating a VS project file out of the makefile stubb (with all the low level furniture that that undertaking requires). I'm still a newbie and I've been doing VS since 2001.

Another thought: stick to what you can do using the tools you have.
Codexzy 12-Feb-15 16:08pm    
Yes, I also think that makefiles are obsolete. But I think they're widely used even today and I really want to contribute to some open-source project.

1 solution

1) What are makefiles ?

If you have Visual Studio installed, run "Visual Studio Command Line". In the command window, type "nmake". That's Microsoft's version of the make command. In that same command window, type "cl". That's Microsoft's C++ compiler. It's the same program that Visual Studio runs each time you build a project.

This link describes the format of a makefile.[^]

2) How do contributors to open-source software write their code ? I mean they must use an IDE. How can I open up an open-source project in an IDE like Visual Studio or Code::Blocks ?

They might use a simple editor instead of an IDE. Some use Emacs, vi, or even Notepad. I've seen programmers use plain old vi with screen to great effect.[^][^]

I prefer an IDE myself. Take a look at Netbeans and Exclipse. The trouble with IDEs is they need you to provide a configuration (much like project and solution files) to describe the different pieces and how to build them.

If all I gave you was a makefile and some C source files, you would have to build the project file yourself.
Share this answer
Codexzy 12-Feb-15 16:14pm    
Thank you for your response. I am marveled at the fact that some programmers use only a text-editor to write code ? So, how do they debug ? And that fact leads to another question. Those who use simple text-editors rather than IDEs must be C/C++ or some other relatively low-level language developers, most probably. So, do a lot of professional C/C++ developers develop using text-editors ?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900