Pregunta

¿Cuál es la forma mejor y más fácil de crear (para Linux) una aplicación C ++ que se escribió en Visual Studio? El código en sí está listo: solo utilicé libs multiplataforma.

¿Es posible preparar todo bajo Windows en Visual Studio y luego compilarlo con una herramienta CLI bajo Linux? ¿Hay algún documento describiendo esto?

EDITAR: más información:

  • Libs utilizados: stl, wxwidgets, boost, asio, cryptlib.

  • Muy poco conocimiento de Linux.

EDIT # 2: elegí la siguiente solución: crear un nuevo proyecto con kdevelop y compilar todo lo que hay.

¿Fue útil?

Solución

Estamos utilizando proyectos CMake para Linux. CMake puede generar archivos de proyecto de KDevelop y Visual Studio, por lo que puede crear su archivo CMake como el origen de los archivos IDE específicos de la plataforma. El generador de KDevelop está bien, por lo que puede editar y compilar en KDevelop (que a su vez se llamará Make).

Por otra parte, si no tiene nada de lujo, puede usar CMake o simplemente Make para construir la cosa en Linux, si desea permanecer con su archivo de solución (que es lo que estoy haciendo actualmente para una biblioteca con aplicaciones de prueba). Este enfoque se complica cuando su proceso de compilación es más que simplemente "tirar estos archivos al compilador y veamos lo que hace", por lo que la solución CMake es, en mi opinión, algo bueno para el desarrollo multiplataforma.

Otros consejos

Aquí se explica cómo compilar el código C manualmente en Linux sin herramientas de compilación adicionales :

gcc -s -O2 -o prog -I. -Iincludedir1 -Iincludedir2 -Llibdir1 -Llibdir2 code1.c code2.c -luse1 -luse2

Sin embargo, si su proyecto es más grande que un par de archivos, es posible que desee utilizar una herramienta de compilación (como CMake, vea la respuesta de OregonGhost) para automatizar la compilación de muchos archivos y hacer que es incremental. Si utiliza una herramienta de compilación, ejecutará gcc bajo el capó, con argumentos similares arriba. Es útil comprender los argumentos anteriores, para que pueda solucionar los problemas si falla su compilación automatizada.

Esto compilará code1.c y code2.c a prog binario ejecutable, cargando archivos .h desde., includedir1 y includedir2, cargando bibliotecas (por ejemplo, libuse1.so * y libuse2.so *) desde los directorios libdir1 y libdir2, usando bibliotecas use1 (correspondiente al nombre de archivo libuse1.so *) y use2.

Si obtiene errores de símbolos indefinidos en sus archivos .c, debe especificar más indicadores -I . Si obtiene errores de símbolo no definidos en el archivo .o, debe especificar más indicadores -l . Si obtiene no puede encontrar errores -l ... , debe especificar más indicadores -L .

8 años después ...

Me encontré con esta pregunta hoy y pensé que le gustaría & nbsp; echar un vistazo a Visual C ++ para Linux .

Lanzado en marzo de 2016, VC ++ para Linux le permite crear un proyecto & nbsp; en VC ++, y luego construirlo en una máquina Linux / VM & nbsp; usando herramientas nativas de Linux. Además, también puede depurar su aplicación desde VS & nbsp; ¡ya que las herramientas de Linux le permiten al depurador de VS conducir & nbsp; GDB en su máquina / VM de Linux a través de SSH!

Parece que esto es casi exactamente lo que @mspoerr estaba pidiendo :)

  

¿Cuál es la forma mejor y más fácil de construir una aplicación c ++, que fue escrita con Visual Studio, para Linux? El código en sí está listo: solo utilicé librerías de plataforma cruzada.

  • Compruebe si hay algo que no sea parte de C ++ estándar
  • Enjuague y repita
  • Crear un makefile o un proyecto KDevelop

Et voilà!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top