What does the community use to say, develop for Linux and Windows at the same time?
I think that depends on your program spec. What exactly are you trying to build? I've found that it always makes much more sense to figure out the problem first, rather than choosing the tool first.
Right. Well I'm trying to build a calculator for the express purpose of familiarising myself with development and publishing on Linux and Windows.
The best approach IMO is to simultaneously develop for all your target platforms by wrapping any platform specific functions in modules or libraries.
As for tools/libraries, there's a lot of them out there. CMake is pretty much the tool for compilation, and for GUI take a look at QT, GTK, or wxWidgets.
Like @tsuser1729 said, I really depends on what you want.
First it is best to determine what functionality do you want and platform you want to support and before starting your project and then evaluate what languages/libraries fit that bill.
Example: currently I'm building a small note taking app using python (language) + Qt (framework) + Pycharm (IDE). All of these are available for windows/linux/mac and I choose python because and learning python and has a ton of libraries. I could use the Qt framework and C++ and it would allow me to develop to both the desktop and mobile platforms using the same code, due to the functionality of that framework, but given I don't know much of C++ and I consider it harder to learn and the mobile platform is not really a priority for me I choose python.