Suppose I have an application written in C++, which uses WxWidgets (or some other library) for gui. When an end-user installs my application, how do I make sure they also install the necessary dependencie(s).

Should I include the source/header files for the library within the download, such that they get compiled with the source files I write, when the user installs? Should some external package manager always be used to install dependencies?

When I install a game on windows, I notice it always checks to see if VisualC++11 is installed, how do installers instruct the user computer to install VisualC++?

I can't seem to find any concrete answers to this question (maybe there isn't a concrete answer), so any help would be appreciated.

closed as too broad by Doc Brown, gnat, amon, Jules, Caleth Feb 27 '18 at 10:14

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    That's your responsibility, not the end-user's. Use an installer program that does that. – πάντα ῥεῖ Feb 24 '18 at 17:36
  • 1
    Much of this depends on the platform(s) that you support, what type of users you target and if you distribute binaries or only source code. – Bart van Ingen Schenau Feb 24 '18 at 17:42
  • 5
    "When I install a game on windows, I notice it always checks to see if VisualC++11 is installed" - sounds confused, it seems you are mixing up Visual C++ with the Visual C++ Redistributable Package. If you want to know how to write a program which checks if that package is already installed, search if that question was already asked on Stackoverflow. – Doc Brown Feb 24 '18 at 17:46
  • How do I make sure they also install the necessary dependencies? -- By including those dependencies in your installer. – Robert Harvey Feb 24 '18 at 23:53
  • Think of every end user is a potential psychopathic mass murderer who knows where you live (or will find out). Now think what happens when an end user can't install your product. Now think what happens if its the psychopath. Keeping that imagine in your mind, write your installer – mattnz Feb 26 '18 at 2:23

End users are not interested in compiling the program. Use an installer app to create a binary package for them. In the app, you can specify the dependencies required by your program.

Not the answer you're looking for? Browse other questions tagged or ask your own question.