-2

I come along with an a bit curious question. I don't have much experience with large projects with lots of files in C, C++, C#, D...

So I wondered about a professional solution when building up bigger projects. Obviously there is no "general" solution to do that.. To explain what I mean lets take a look at Java for example:

Assuming that you wrote a lot of source files in Java. Once you have finished you compile all that sources to .class files into a folder named like the package of the sources. All the files interact with each other. To finish your project you create a .jar file of all your .class files and config-files and you're done. Just to simplify.

So my question is: What is a common solution when building GUI applications with C++ or C# on windows? Is there one .exe file and a lot of .dll files in a folder? Or are all files compiled to .exe and work fine together due to namespaces for example? Is there a way to create an executable archive of all files? What is a common way to build up GUI applications with lots of frames? Is there any?

I hope all that questions make my problem become more clearly. I hope you can guess what I mean.

Thanks for any help!

Daniel
  • 19
  • 3
  • 1
    I would suggest reading up on how to build multiple projects in a single solution at least in regards to `C#` this is a pretty opinionated question – MethodMan Feb 04 '15 at 20:35
  • 1
    [You can merge assemblies](http://stackoverflow.com/questions/1829531/how-do-i-merge-multiple-net-assemblies-into-a-single-assembly). The rest of the question is opinion-based or too broad. – CodeCaster Feb 04 '15 at 20:37
  • What is that you need? Are you looking for general information or do you have a specific problem? It seems you are asking for general information, which is not a good fit for this site. – Dzyann Feb 04 '15 at 20:40
  • 1
    This would really be unlikely to work on programmers. @JNYRanger you should probably spend time on that site to learn it's scope before suggesting people post their questions there. This is very vague and broad and lacks any specific question so it likely wouldn't fit on any SE site at all. It would be closed if posted on Programmers. – Jimmy Hoffa Feb 04 '15 at 20:47
  • @JimmyHoffa Sorry, I thought that conceptual questions were best for that site? – JNYRanger Feb 04 '15 at 20:48
  • 1
    @JNYRanger they are, but this is not a conceptual question, this is a broad poll request that doesn't have any fixed question in it. Like I said, it wouldn't fit any site on SE. – Jimmy Hoffa Feb 04 '15 at 20:50
  • sorry for that question – Daniel Feb 04 '15 at 20:55
  • 1
    @Daniel it's a matter of learning the system and the expectations. It is an interesting question, just that it's hard to fit in the Q&A format. Get 20 rep and you may find the C# or C++ chat rooms may be a good place to ask. –  Feb 04 '15 at 20:57

1 Answers1

1

The default is that you have one exe plus one dll per additional project. External libraries might generate even more dlls. It is common for a .NET application to have many dlls.

However, there is a tool from Microsoft called ILMerge that can merge all your assemblies into one. It does not run automatically, but you can create a bat-file (for instance) and launch it as post build event in the Release configuration.

Olivier Jacot-Descombes
  • 104,806
  • 13
  • 138
  • 188