2010-08-17 23 views
21

Después de un tiempo principalmente de desarrollo .net, tengo que trabajar en C++ de forma cruzada.Cómo instalar Visual Studio para desarrollo C++ multiplataforma

No quiero renunciar al estudio visual, así que mi esperanza era que es posible usar Visual Studio y el objetivo de Windows como testbuild, y luego de vez en cuando a través de una prueba vm el código en linux o mac.

¿Alguien tiene experiencia en cómo configurarlo de la mejor manera?

Tengo especial curiosidad en cómo asegurarse de que cosas como el archivo de proyecto se mantengan sincronizadas con los archivos make que probablemente se necesitan en las plataformas * nix.

+0

Una excelente pregunta. Detesto Eclipse y GDB.Clunky, uso deficiente de la pantalla de bienes raíces, un monitor, soporte de la impresora mal, etc ... uuugh. Sin embargo, Windows no tiene la compatibilidad con el temporizador POSIX que necesito para las aplicaciones de telecomunicaciones, y nuestro entorno de producción es todo Linux, así que he estado buscando una solución. Me gusta el aspecto de las soluciones de WinGDB y VisualGDB que MaHuJa señaló a continuación, por lo que las investigaré. ¿Algún comentario que puedas ofrecer después de más de 3 años? – RocketRoy

Respuesta

14

Antes que nada, seleccione un proyecto C++ no administrado (para evitar las cosas de .net).

Después de eso, suba el nivel de advertencia (/W3 debería hacerlo), y tenga mucho cuidado con lo que hace/escribe. En mi humilde opinión, GCC es mejor para mantenerlo recto con el estándar (-Wall -Wextra -pedantic -std=c++11), pero usted especifica MSVC.

Como dijo Noah, necesitarás un sistema de compilación que sea en sí mismo multiplataforma, como CMake (hay otros, no olvides eso).

recuerde utilizar la plataforma/arquitectura/compilador tipos independientes, como std::size_t, std::(u)intptr_t etc., en lugar de la llanura int, long, unsigned: estos son una receta para el desastre y la API de Windows lanza estos en todo demasiado.

Consulte here, pero solo/especialmente los puntos 1, 2, 5 y 8 (y 9, pero generalícelos a svn, git, mercurial).

+0

Excelentes consejos. Me aseguraré de probar regularmente y construir en otras plataformas. Supongo que la configuración inicial tomará más tiempo (configuración de libs, makefiles, etc.) pero, finalmente, las cosas se simplifican en la línea ¿no? – Toad

+0

Hasta codificar una gran parte del código y ver que su suposición no es correcta en la otra plataforma :). En teoría, debería, si obtiene el sistema de compilación correcto (con respecto al enlazador: .lib/.dll (.dll) .a/.so ysoforth, rutas, detección de plataforma ...) – rubenvb

4

Tengo especial curiosidad en cómo asegurarse de que cosas como el archivo de proyecto se mantengan sincronizadas con los archivos make que probablemente se necesitan en las plataformas * nix.

Dado que MS decidió eliminar el soporte para makefiles de VS, no es así. Usas algo más que puede generar archivos de proyecto VS y te aseguras de mantener ESTE configurado correctamente. Algo como CMake.

+1

Estamos usando CMake para eliminar la dependencia del sistema de proyectos de Visual Studio. Funciona bien http://www.cmake.org/ – David

+0

Entonces, cuando se agreguen nuevos archivos al proyecto, lo haré desde cmake y luego arrancaré Visual Studio. – Toad

+0

@toad - más o menos, sí. VS no ha podido generar makefiles desde 2005 o antes. Francamente, estarás mejor con algo más si quieres hacer un desarrollo multiplataforma. MS tiende a desalentar tales cosas tanto como sea posible y en VS lo hacen al hacerlo casi imposible. –

3

(3 años más tarde ...)

Si tiene NO-EXPRESS, permitiendo así el uso de plugins, entonces hay cosas por el estilo WinGDB y VisualGDB para ayudarle.

Duckduckgo también me dice acerca de make-it-so que está bastante desactualizado, pero puede haber todavía más de estos, ya que deberían ser más simples de hacer con los nuevos formatos de proyecto basados ​​en xml.

+0

Quiero usar Visual Studio para depurar el código Linux C/C++, por lo que se parece al ticket. Gracias un millón de veces si funciona como se anuncia. Hará mi vida mucho más fácil. – RocketRoy

1

Esta es una antigua pregunta de hace 6 años, pero sólo quisiera señalar que Microsoft tiene ahora las herramientas oficiales para trabajar con Linux C++ en Visual Studio:

https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/

Además, Windows 10 ahora tiene la capacidad de ejecutar Linux dentro de Windows, por lo que debe hacer su vida mucho más fácil para cualquiera que esté interesado en desarrollar en C++ para Linux en Visual Studio.

Cuestiones relacionadas