Desafortunadamente, he encontrado que la pestaña C/C++ Build no le permite establecer la ubicación de compilación a menos que esté creando su propio archivo MAKE.
Usted probablemente ha encontrado que la configuración del generador de lengüeta debajo Propiedades del proyecto> C/C++ Build es todo en gris en un proyecto predeterminado C/C++. Esto se debe a que CDT designa el generador interno por defecto para nuevos proyectos. Para cambiar esto, puede ir al Propiedades del proyecto> C/C++ Build> Tool Chain Editor y cambiar el Current Builder al Gnu Make Builder. A continuación, vaya a Propiedades del proyecto> C/C++ compilación y cambie el tipo de generador a generador externo. Ahora puede optar por crear su propio archivo MAKE para el proyecto, si lo desea; aunque recomendaría dejar CDT para construir el archivo MAKE automáticamente por el momento.
Tengo los mismos requisitos de proyecto para enviar a/project_path/bin (aunque todavía mantengo la separación entre las compilaciones Debug y Release). Para hacer esto, realizo una operación de copia en la salida como un paso posterior a la construcción.
Para ello, vaya a Propiedades del proyecto> C/C++ Build> Configuración y seleccione el etapas de la generación pestaña. En el posterior a la generación pasos bajo Comando:, introduzca:
cp ${BuildArtifactFilePrefix}${BuildArtifactFileName} "/path/to/bin/directory/";
reemplazando Obviamente, el "/ ruta/a/bin//" según sea necesario.
Personalmente prefiero mantener mis archivos de proyecto en un workspace/build directorio; copia de binarios en un directorio workspace/bin y bibliotecas en un directorio espacio de trabajo/lib. Al principio, encontré esta solución temporal como una inconveniencia, pero he llegado a apreciarla porque aísla los archivos de compilación intersticiales del último archivo binario/biblioteca.
para binarios, me gustaría utilizar:
cp ${BuildArtifactFilePrefix}${BuildArtifactFileName} "${WorkspaceDirPath}/bin/";
Para las bibliotecas, me gustaría utilizar:
cp ${BuildArtifactFilePrefix}${BuildArtifactFileName} "${WorkspaceDirPath}/lib/";
que incluyen la variable "$ {BuildArtifactFilePrefix}" porque CDT incluye "lib" como una prefijo predeterminado para bibliotecas estáticas, que en realidad prefiero.
Solo necesita asegurarse de que el directorio de destino exista antes de compilar; Eclipse/CDT no creará el directorio para usted.
Además, sólo recuerda que estas copias se quedará atrás en el /bin o /lib directorio en limpio, pero sobrescribir en cualquier posterior reconstrucción.
Gran solución, gracias –
Existe una opción para un paso posterior a la compilación, por lo que lo más fácil es dejarlo compilar donde lo hace y, si eso funciona, usar el paso posterior a la compilación para copiarlo/moverlo o vincularlo. ¿Hay una macro especial para depuración o liberación para que pueda usar una común para ambas configuraciones? – CashCow