JLBorges +1
OP sounds like he's making an "I hate Macs because they don't work like Windows" kind of argument.
I use the Windows command shell ALL THE TIME.
I also use ConEmu+Clink a lot.
I sometimes even use MSYS2.
All of them have their unique characteristics that makes using them interesting.
Because Windows has so many options for a C++ compiler, heck, even
multiple versions of the
same compiler, the thing you
must learn to do on Windows is manage your %PATH%.
C and C++ compilers I currently have installed:
* MSVC 2015
* TDM-GCC-64
* Clang
* (A hardlink to TDM-GCC-64 at C:\mingw64 so that Clang will work with it)
* (I think I have a GCC buried deep in the recesses of Strawberry Perl, too.)
Using each one requires some %PATH% management:
* MSVC: use
vcvarsall.bat 32
or
vcvarsall.bat 64
to initialize the PATH
* TDM-GCC-64: put
C:\TDM-GCC-64\bin
at the head of the path
* Clang + MSVC 32-bit: initialize MSVC32 then put
C:\Program Files (x86)\LLVM\bin
at the head of the PATH
* Clang + MSVC 64-bit: initialize MSVC64 then put
C:\Program Files\LLVM\bin
at the head of the PATH
* Clang + TDM-GCC-64: put TDM-GCC-64 at the head of the path, then put the appropriate 32-or-64-bit Clang at the head of the path.
an asideI keep a number of little batch scripts around for the very purpose of path management. From my daily point of view, I just type the compiler name and it adjusts the path automatically. |
Once done, I only need to know how to frob the compiler correctly. Examples:
*
cl /EHsc /O3 quux.cpp
*
g++ -Wall -std=c++14 -pedantic -s -m32 quux.cpp
*
clang-cl /EHsc /O3 quux.cpp
*
clang++ -Wall -std=c++14 -pedantic -s -m32 quux.cpp
And so on. Notice how usage number two is exactly the same as it would be on a Linux system.
...That said, you are compiling for a completely different system. Shared libraries, for example, work differently between Linux and Windows, which means I need to frob the compiler a little differently on Windows than I would on Linux.
So, different systems? Yes, then you will have to do a few things differently.
(I would recommend CMake, but I hate it. You might still find life a bit easier if you use it, though.)
My $0.02.