I've been wanting to get into bigger C++ projects, even toying with the idea of making a basic sandbox game. I'm not really good at graphics so not sure how far I'll even get, but just something I want to try for fun.
The biggest challenge with C++ especially in Linux is whenever you get into more complex stuff you need to use 3rd party libraries, which means dependencies are involved. It's always a gamble if it will work on one system from the other because of how terrible the library management is in Linux and how distros can be inconsistent such as where libraries are put or what the file is even called. Then you have to deal with libraries being a different version and some libraries not liking other versions etc... aka dependency hell. I want to avoid this.
When I need to use some kind of 3rd party library, is there a way to simply convert it all to regular source code, so that it can just be a regular include file and not have to depend on anything else on run time? Basically instead of having to install the library into the system, I simply make it part of my code and make it independent of the system. Is this possible? I'm going to guess it's not otherwise everyone would be doing it, and dependency hell would not even exist. But thought I'd ask.
What about static compiling, how does that work and how is it done? Would that do what I want? Essentially if I make any kind of program that I want to release to the public, I want it to quick and easy to deploy with no dependency hell involved. Just a script that runs g++ and done. No fighting with anything.
The biggest challenge with C++ especially in Linux is whenever you get into more complex stuff you need to use 3rd party libraries, which means dependencies are involved. It's always a gamble if it will work on one system from the other because of how terrible the library management is in Linux and how distros can be inconsistent such as where libraries are put or what the file is even called. Then you have to deal with libraries being a different version and some libraries not liking other versions etc... aka dependency hell. I want to avoid this.
When I need to use some kind of 3rd party library, is there a way to simply convert it all to regular source code, so that it can just be a regular include file and not have to depend on anything else on run time? Basically instead of having to install the library into the system, I simply make it part of my code and make it independent of the system. Is this possible? I'm going to guess it's not otherwise everyone would be doing it, and dependency hell would not even exist. But thought I'd ask.
What about static compiling, how does that work and how is it done? Would that do what I want? Essentially if I make any kind of program that I want to release to the public, I want it to quick and easy to deploy with no dependency hell involved. Just a script that runs g++ and done. No fighting with anything.