Tengo una solución C++ en VS2008 con múltiples proyectos. Esta solución contiene archivos que se necesitan en el tiempo de ejecución, que se cargan de acuerdo con una ruta relativa al directorio de la solución (por ejemplo, "Testing/data/" + "dataN.bin"
).Cambiar el "directorio de depuración/trabajo" globalmente (no por usuario) en VS2008
Para que esta solución funcione, debo establecer el directorio de trabajo establecer en el proyecto (s) de manera que se haga referencia al directorio solución (por ejemplo Configuration Properties >> Debugging >> Working Directory = $(SolutionDir)
). Esto funciona bien cuando estoy depurando en mi propia PC. Sin embargo, cuando un usuario diferente carga mi solución, sus proyectos no tienen esta propiedad establecida correctamente.
He rastreado esta configuración para no almacenarla en el archivo de proyecto (PROJECT.vcproj
), sino en el archivo específico del usuario creado para él (PROJECT.vcproj.DOMAIN.USER.user
).
Me gustaría una forma de almacenar esta configuración para TODOS los usuarios, sin tener que configurarla una y otra vez.
Mis pensamientos fueron:
- encontrar una manera de tienda esta en el archivo .vcproj (no el específico del usuario) o el archivo de solución.
- Busque la manera de crear un "archivo predeterminado específico del usuario", desde el cual se iniciarán todas las configuraciones específicas del usuario (y se pueden modificar posteriormente).
Sin embargo, no encontré la manera de hacer ninguno de estos.
Un poco más notas/restricciones:
- tengo que trabajar con muchos archivos de gran tamaño, ya que estos recursos, por lo tanto, me gustaría evitar la realización de copias a diferentes directorios.
- Las soluciones deben admitir varias configuraciones de compilación (depuración, lanzamiento, etc.).
- Me gustaría evitar los scripts de compilación pre/post si es posible, para mantener las cosas claras (baja prioridad).
Cualquier ayuda será apreciada ... gracias de antemano.
Copiando recursos: Esto podría hacer el truco, sin embargo, tengo cantidades masivas de recursos para copiar (en este caso, vectores de prueba grandes), y sería una pérdida de tiempo y memoria para copiarlos cada vez. Además, tengo varias configuraciones de compilación (versión, depuración, ...), lo que provocará una mayor duplicación que deseo evitar. Tiene sentido que estos vectores estén en el directorio raíz "solución", ya que estos datos son utilizados por múltiples proyectos (de diferentes maneras). Además, me gustaría mantener el orden en la lista de archivos de la solución (con respecto a la estructura del directorio). – scooz
Por otro lado, copiar el resultado ejecutable en el directorio raíz de la solución no solo causará un problema en el directorio raíz, sino que no admitirá adecuadamente varias configuraciones de compilación (mantendrá los archivos con el mismo nombre, etc.). Parece que para fines de depuración, lo más lógico es cambiar el directorio de trabajo. En cuanto a los problemas de implementación que mencionaste (con los que estoy de acuerdo), prefiero complicar las cosas allí que al depurar (ya que utilizo menos veces que la depuración) – scooz
Es por eso que señalé el comportamiento de la opción xcopy/d. Solo está pagando por la copia una vez. –