Als ik je bericht goed lees, zie ik dat je eigenijk vraagt naar
cross-compilatie naar Linux binaries onder Windows. Als je dat als zoekterm in
Google gebruikt, zie je als snel dat dat niet zo vaak gebeurd. Iets vaker wordt er vanuit linux naar windows ge-crosscompiled.
Ik heb wel wat ervaring met het schrijven van applicaties voor zowel linux als windows. Als je een linux distributie vindt om op te werken (zoals je zelf aangeeft: in vmware kan het ook), is het compileren op windows voor windows en op linux voor linux het minste gedoe.
Wel zul je merken dat als je project wat groter wordt (meerdere sourcefiles), je al snel behoefte krijgt om ook een cross-platform make systeem te gebruiken, je kunt tenslotte je visual studio solution- en projectfiles niet gebruiken om te builden op linux. Een voorbeeld van zo'n cross-platform make is
CMake. Er zijn er meer, dit is degene die ik gebruik. CMake genereert o.a. visual studio files voor windows en makefiles of eclipse project files onder linux. In plaats van een cross-platform make kun je ook kiezen voor een cross-platform IDE, zoals bijvoorbeeld
Code::Blocks (je werkt dan in Code::Blocks in plaats van in Visual Studio).
Daarnaast, het is al genoemd door
de Zeester, als je een service-applicatie wilt draaien, wil je waarschijnlijk iets op basis van sockets doen en is het handig om een library te gebruiken die je platform-onafhankelijke socket-functies biedt. Zoals eerder genoemd,
ACE is een voorbeeld en ook
boost.asio. Die laatste is mijn persoonlijke favoriet. Beide libraries vergen een investering in inleertijd en bieden naast pure socket-functies ook nog veel meer functies, met name voor asynchrone communicatie. Voor platform-onafhankelijkheid in het algemeen zijn de boost-libraries uberhaupt een goede tip.
Al met al vergt dit (cross-platform make/IDE en cross platform libraries) nogal wat inleertijd, maar bedenk dat er licht is aan het eind van de tunnel

. HTH. Succes.