Utilizaría la marca habitual pero la mantendré simple con las reglas predeterminadas tanto como sea posible. Agregue dependencias a medida que avanza.
EDIT: Como en el paso intermedio, compárelo con mingw para que pueda evitar el problema de portabilidad API completo hasta que tenga una compilación activa en su nuevo mecanismo de compilación.
Si su aplicación de consola llama a las funciones API de win32, puede elegir entre modificar todo el origen donde se utiliza o escribir un módulo que implemente esas funciones.
En anteriores esfuerzos de portado de este tipo, lo intenté en ambos sentidos y este último fue más fácil. Terminé escribiendo solo de 18 a 20 funciones de calce.
Tuve tanto éxito que terminé escribiendo una capa de abstracción de SO que se usó en muchos proyectos que simplemente me permitían compilar en Windows nativo, cygwin, Linux, VxWorks, etc. con cambios triviales en uno o dos archivos.
(ps Cualquier interés en una versión de código abierto de una capa de abstracción del sistema operativo basada en C++? Estaba pensando en lanzar una versión no comprometida del mundo si hay interés suficiente. Es sobre todo útil cuando BOOST es demasiado pesado, es decir proyectos integrados.)
¿Extraño algo? C++ 0x es un estándar * propuesto * que escuché por última vez, lo que significa que su código ** es ** no estándar si está escrito usando características de eso. –
en realidad C++ 0x es el nombre no oficial del nuevo estándar planificado para el lenguaje de programación C++. – MBZ
¿* * * propuesto * contra * propuesto * significa alguna diferencia en el estado de la ratificación? Solo me da miedo escribir código en cualquier cosa hasta que sea ** el ** estándar. –