Хотя вы можете, я уверен, выкопать версию GCC с перекрестной компиляцией для Linux, предназначенную для Linux, для запуска под Windows (или собрать ее из исходников, используя версию GCC, предназначенную для платформы Windows, например MINGW или Cygwin), но можетоказалось проще установить меньший дистрибутив linux, возможно, только для консоли, на виртуальной машине.
Как вы упоминали, вы выполняли ввод-вывод с использованием WIN32 API.Вам нужно будет изменить это на методы типа unix / posix, возможно, включая обучение по изменению настроек терминала, что может быть небольшим опытом обучения.Чтобы знать, что вы правильно поняли, вам нужно будет проверить это.Сборка "linux" -версии вашего кода под cygwin и запуск его на вашем Windows-окне может сработать, но, вероятно, лучше познакомиться с действительной целевой операционной системой.
Просто убедитесь, что ваш исполняемый файл Windows работает подВино, о котором упоминала Дани, тоже не будет плохой идеей.Также есть библиотека Winelib, которая призвана помочь с портированием, предоставляя заменители вызовов Windows при попытке скомпилировать ваш код для linux.
Наконец, просто переключите компиляторы с MSVC на GCC, независимо от того, нацелены ли вы на linuxили Windows или Cygwin, вероятно, потребует некоторых изменений в вашем исходном коде.MSVC будет допускать множество хитрых вещей, которые GCC не допустит, например, в том, как вы объявляете структуры.Обратное, вероятно, также верно.Но, изучив и регулярно передавая ваш проект обоим компиляторам, вы можете поддерживать переносимый код.