2012-02-25 20 views
7

Estoy desarrollando para Android y uso Eclipse para crear una aplicación que también tenga un archivo .so con código C++. Mi problema es que cuando solo cambio el código C++ y vuelvo a compilarlo fuera de Eclipse, Eclipse no siempre ve que haya cambiado y tengo que limpiar el proyecto y volver a generarlo antes de poder iniciarlo de manera confiable. Este comportamiento me ha costado mucho tiempo porque Eclipse no está utilizando el nuevo archivo .so.¿Hay alguna manera de obligar a Eclipse a limpiar automáticamente cada ejecución?

¿Hay alguna manera de obligar a Eclipse a reconstruir siempre el proyecto antes de ejecutarlo?

+0

No sé si lo arreglará ... pero ¿ha intentado actualizar el proyecto del eclipse (F5) sin limpiarlo? No estoy seguro si soluciona su problema, pero vale la pena intentarlo ... –

+0

Gracias por su respuesta. Intenté eso pero desafortunadamente eso no funciona. Al menos no las veces que lo intenté. – HardCoder

+0

¿Esto es lo que estás buscando? http://stackoverflow.com/a/6783744/1217328 – Sp3igel

Respuesta

2

No estoy seguro de lo familiarizado que está con la hormiga, pero si está compilando su C++ archivos a través de línea de comandos, un pensamiento es crear un script de construcción hormiga que va:

  • recompilar los archivos de C++
  • limpio y construir su apk
  • instalar el apk en su dispositivo

Entonces puede estar seguro de que la aplicación generada siempre se genera utilizando el último código compilado.

0

Por lo que yo sé, no hay forma de forzar el eclipse para que siempre se limpie cuando se presiona el botón de reproducción. Puede considerar un IDE diferente como IntelliJ. Nunca tiene que 'limpiar' un proyecto así que supongo que reconstruirán el proyecto cada vez que presione play ...

+3

Hola, gracias por su respuesta pero, lamentablemente, cambiar los IDEs no es realmente una opción. – HardCoder

+0

hmmm. Bueno, entonces mi mejor suposición sería verificar 'Limpiar datos de usuario' en su configuración de ejecución. No estoy seguro si hace una limpieza completa, pero puede solucionar su problema ... – ByteMe

3

En Opciones del proyecto, vaya a "C/C++ Build.

Seleccione "Ajustes Builder" ficha.

Desactive la opción "comando de generación Use default" y en el comando del campo Generar, sólo tiene que añadir el objetivo" limpiar" como primer objetivo.

Por ejemplo, suponiendo que tiene

> make -j2 settings 

cambio a

> make clean -j2 settings 
Cuestiones relacionadas