macros se pueden utilizar en los argumentos de línea de comandos para proyectos de C++, consulte:
How to pass solution folder as parameter in command line arguments (for debug)?
usted podría tener un ++ proyecto "Establecer como proyecto de inicio" C vacío y cambiar su "Propiedades de configuración -> Depuración - > Comando "desde" $ (TargetPath) "(predeterminado para nuevos proyectos) a" $ (ProjectDir) .. \ OtherProjectRelativeDebugFolder \ OtherProjectsOutputFileName.exe ".
Dado que OtherProjectRelativeDebugFolder y OtherProjectsOutputFileName son relativos y, por lo tanto, independientes de la ubicación, debería estar bien con eso.
Dijiste:
Un truco está bien, siempre y cuando no es demasiado horrible!
¿Es un proyecto vacío que produce un dll vacío (a menos que encuentre una forma de detenerlo, por ejemplo, eliminar en la construcción posterior) demasiado horrible?
BTW. Las variables de entorno no se resuelven en "Debug -> argumentos de línea de comando" para C# tampoco. Voy a experimentar con establecer una variable de entorno, pasar su nombre (porque no está resuelto) y leerlo en el programa. Al pasar el nombre se pretende mostrar de dónde viene la variable de entorno, es decir, la configuración del proyecto.
Edit: Esperaba encontrar una forma de establecer la variable de entorno en el valor de una macro, p. Ej. en un evento de construcción. Un comando de shell "set" simple no es persistente, por lo que no funcionó. En cambio, pude usar una ruta relativa como carpeta de trabajo para que las cosas funcionen para mí. También encontré una solución que utiliza un archivo para el almacenamiento persistente: VS2010 - Project Macro Variables in Start Options Command Line Arguments