2009-05-13 4 views
24

Tengo una PC con Windows con Eclipse Ganymede instalado y una pc con Linux donde se encuentran mis archivos de proyecto en C++. Yo uso Eclipse para editar los archivos a través de SMB, y me gustaría construir el proyecto usando Eclipse también. Actualmente conecto usando masilla a mi máquina linux, y ejecuto ./make desde el directorio apropiado. ¿Cómo ejecutaría el mismo comando dentro de Eclipse y vería los resultados en él? He instalado el complemento RSE, pero todavía no puedo entender cómo hacerlo.¿Cómo construir un proyecto de C++ en una computadora remota en Eclipse?

Solo para que quede claro: puedo usar VNC para trabajar en Eclipse que está instalado en mi máquina Linux, pero prefiero no hacerlo. Eclipse a través de VNC es lento y no es tan sensible como el Eclipse instalado en mi máquina de Windows.

Gracias, Rouli

+4

Por lo que vale, yo estaba en la misma situación y finalmente renuncié a encontrar una buena solución con Eclipse. Cambié a NetBeans, que tiene un soporte bastante bueno para la compilación remota. – RarrRarrRarr

Respuesta

3

¿Usted ha intentado herramientas de escritorio remoto, como por ejemplo, nx para ejecutar eclipse localmente en la máquina que también contiene la fuente?

Esa podría ser la solución más fácil. Además, tienes el mismo entorno desde cualquier PC que ejecute esa herramienta.

+1

Sí, tengo eclipse en la máquina Linux, a la que puedo acceder a través de, digamos, VNC. Pero es mejor trabajar con Eclipse directamente, no a través de herramientas de escritorio remoto – r0u1i

+1

Como eclipse admite la ejecución de scripts locales, puede hacer lo siguiente: usuario ssh @ remotehost "cd path; make" –

0

¿Ha intentado ejecutar Eclipse desde la máquina Linux con X11 forwarding? Primero debe tener Eclipse instalado en la máquina Linux.

No lo he probado yo mismo.

0

Me gusta Liran Orevi dijo que puede usar x windows.

  1. Instale el servidor cygwin x en su sistema de ventanas .
  2. habilitación remota conexiones a este servidor X utilizando "xhost +" o similar (xhost + no es considerado seguro por lo que no hacerlo en una red pública, pero está bien para la mayoría de los casos )
  3. ssh a la máquina Linux
  4. establecer la variable de entorno DISPLAY por ejemplo "export DISPLAY =":. 0"
  5. plazo eclipse desde la línea de comandos Eclipse debería aparecer ahora en servidor X en el sistema de ventanas

ssh puede automatizar el reenvío, eliminando la necesidad de xhost + y el env de DISPLAY.

+0

Gracias por la respuesta detallada. Sin embargo, debe haber una forma mejor que ejecutar Eclipse a través de cygwin, ¿no? Después de todo, hay una manera de depurar de forma remota usando gdbserver, ¿por qué no hay una forma de ejecutar un archivo make simple de forma remota y observar los resultados de compilación en Eclipse? – r0u1i

5

Puede crear un proyecto en una máquina remota utilizando RSE. Para hacerlo, debe tener el componente del servidor RSE instalado en la máquina remota. Cree una conexión a la máquina utilizando la vista Sistemas remotos de RSE. Cree un nuevo proyecto de C/C++ y, en la primera página del asistente, desmarque la casilla de verificación que dice "usar ubicación predeterminada". Esto permite un menú desplegable de proveedores de sistemas de archivos, elija RSE. Luego, cuando haga clic en Examinar, obtendrá un diálogo que le permite navegar por el sistema remoto para buscar la carpeta donde desea que su proyecto viva.

Hay algunos problemas con este enfoque. En primer lugar, cuando el indexador CDT quiere construir el índice que necesita para analizar todos los archivos en su proyecto, lo que significa descargar todos los archivos a su máquina local. Esto puede ser lento si tiene un proyecto grande o una conexión lenta.

Otro problema es que cuando reinicia eclipse, los proyectos remotos se cerrarán.Esto se debe a que todavía no tiene una conexión con la máquina remota, por lo que eclipse no puede leer el archivo .project. Deberá reabrir sus proyectos remotos cada vez que comience el eclipse.

Actualmente hay un proyecto en las obras llamado RDT (Herramientas de desarrollo remoto) que agrega capacidades de indexación remota a CDT. Eso significa que el indexador vivirá en la máquina remota con su código, por lo que no es necesario descargar los archivos para el indexador. Todavía está en estado "alpha", pero si eres aventurero y quieres probarlo, ve al here.

+0

Hola Mike, No tengo problemas para acceder a los archivos. ¿Este enfoque me permitiría construir remotamente el proyecto? – r0u1i

+0

No creo que haya una forma de construir remotamente. Hay un par de cosas que podrías probar. Podría intentar cambiar el comando de compilación para usar ssh. También puedes abrir un shell remoto dentro de eclipse y ejecutar make desde allí. El proyecto RDT contiene un generador remoto pero es muy preliminar. –

+0

El enfoque de RSE le permite construir el proyecto remotamente (de forma integrada, sin caer a un shell y ejecutar make) – nos

18

Estaba en una situación similar, desarrollando en una estación de trabajo de Windows, compilando en un servidor de Linux. Esto es lo que terminé haciendo:

  1. instalación de un inicio de sesión sin contraseña al servidor compilador con masilla, por ejemplo, usted puede seguir esta tutorial.
  2. Cree una sesión de inicio de sesión con masilla, asegúrese de que en Conexiones/SSH/Auth esté apuntando a su clave privada.
  3. Modifique el comando eclipse make a plink.exe -load "saved_session" make -C /remote/path/project (Esta configuración se encuentra en Project/Properties/C++ Build/Builder Settings/Build command). Puede automatizar esto con un archivo por lotes/shell si tiene que pasar más parámetros y/o su configuración es más compleja.

Si ha almacenado una frase de contraseña con su clave privada, puede usar pageant.exe para cargar su clave una sola vez, por lo que no tiene que escribir su frase de contraseña cada vez.

+2

No necesita utilizar la autenticación de clave pública, puede proporcionar la contraseña para desplazarse en la línea de comando (con el argumento -pw). –

+12

Aunque no * necesita * utilizar autenticación de clave pública, proporcionar su contraseña de inicio de sesión en la línea de comando y guardarla en su comando de compilación eclipse es una idea bastante horrible desde el punto de vista de la seguridad. – RarrRarrRarr

+1

Funcionó sin problemas. Excepcional. – Sean

Cuestiones relacionadas