Thread: C++ Development Environment VM, Docker, Virtualenv

  1. #1
    Old Fashioned
    Join Date
    Nov 2016
    Posts
    104

    Question C++ Development Environment VM, Docker, Virtualenv

    Tl;Dr - Is there any good virtual machine with most C++ common libraries pre-installed such as Boost, Qt5, and crypto libraries? Could also be a Docker container or virtual environment. I would prefer Unix-based but could also handle Windows. Just note that I am not looking to do Windows-proprietary coding.

    I currently do quite a bit of C programming. However, I don't use a lot of libraries for my C work. I also do a fair bit of Python but for Python, a lot is built in, and dealing with libraries is quite easy with pip.

    I'm now delving more into C++ specifically because it's easier to deal with strings in C++, and there are a lot of more modern libraries out there. I also like that C++ doesn't force OOP on the programmer, but it's available.

    However, my concern is that I have a lot of friends recommending I use various libraries for various things such as Boost, Qt5, OpenSSL, and more... And I don't want to end up installing gigabytes of libraries and add-ons to C++ and risk mucking up my system. For this reason, I use virtual environments in Python.
    If I was homeless and jobless, I would take my laptop to a wifi source and write C for fun all day. It's the same thing I enjoy now!

  2. #2
    Registered User
    Join Date
    May 2019
    Posts
    180
    I've never found one with more than an IDE and perhaps some specific focus like Android development.

    That said, I can confirm the wisdom of using VM's for development for more than avoiding host system chaos. I also keep them in case the host has issues. I can boot another backup OS, minimally capable of running the VM, then get back to work - deal with the machine later. That, or "move" into another machine as required.

    That said, Boost is relatively easy to build (if you even require it, many are header only libraries that require no real installation). It isn't small, but easily moved about - you will end up, over time, with several versions anyway because they frequently release.

    While I fully agree there's no sense in developing OS specific applications in the 21st century, I still find it difficult to exceed the overall performance (especially debugging) of Visual Studio under Windows (so I have Windows VM's for that). My sense of the IDE's and editors in Linux always leaves me comparing to VS, and the VS install (and upkeep) is actually done well. I've used and have Linux machines with Eclipse and IntelliJ, Android Studio, MAC with XCode, and decades of experience with them, but VS CE 2019/2017 (even 2015) have all been tough to match, let alone exceed.

    All of them have very good and some bad attributes many fans will focus on, and some are outright anti-MS to the extent of refusing to use VS. Along with the fact that a Linux VM is many times more efficient than a Windows VM, there's some reason to say it's a tough call. When VS began supporting Linux app development, included the (optional) LLVM toolchain and otherwise became fairly compliant with new C++ standards, it seems that VS may be the only thing MS makes I actually want to use. They've introduced what they call Visual Studio for MAC, but I've not yet tried that (it was, in earlier versions, quite limited).

    Check the (changing) license of Qt. It is legendary, but it also burdens development (aids development depending on your viewpoint) with custom compilation steps in order to support reflection. What "got" me for years was the cost. Qt wasn't free for a long while for all purposes. I haven't checked lately, but it may be of concern. To that end I can say that WxWidgets is a worthy competitor. They are, on the edges, quite different, but for the main purpose of GUI application development independent of OS, widgets delivers. It is free for all purposes, making it worth considering. For both, however, keep in mind that they cover more than they should. Both have, for example, support for TCP/IP connections, but Boost's Asio is considered for the C++ standard library, and in all my use over the last several years has been far better than anything from Qt or WxWidgets. Similarly it is best to use the STL containers than framework containers, and strings.

  3. #3

  4. #4
    Old Fashioned
    Join Date
    Nov 2016
    Posts
    104
    Quote Originally Posted by Codeplug View Post
    Here is a nice option for GCC on Windows - MinGW Distro - nuwen.net

    gg
    Ah I like it. If only it had WxWidgets that'd be even better! Thanks.
    If I was homeless and jobless, I would take my laptop to a wifi source and write C for fun all day. It's the same thing I enjoy now!

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Replies: 1
    Last Post: 02-20-2017, 07:31 AM
  2. The OpenWatcom integrated development environment
    By oforshell in forum C Programming
    Replies: 5
    Last Post: 07-19-2009, 05:53 AM
  3. SSH Secure Shell to Microsoft Development Environment
    By s_jsstevens in forum C Programming
    Replies: 2
    Last Post: 05-08-2007, 02:38 PM
  4. C Development environment setup on Linux
    By hq4ever in forum Linux Programming
    Replies: 2
    Last Post: 11-14-2006, 05:20 PM
  5. C/C++ cross-development environment
    By George2 in forum C Programming
    Replies: 1
    Last Post: 07-19-2006, 10:58 AM

Tags for this Thread