En mi proyecto, actualmente uso rutas relativas para incluir mis archivos, lo que sin duda no cambia con frecuencia. Sin embargo, produce patrones de inclusión bastante extraños, porque generalmente anido mis archivos en muchas carpetas.¿Debo usar rutas de inclusión relativas para mi proyecto o colocar el directorio de inclusión en la ruta de inclusión?
Por ejemplo, en mi proyecto actual tengo network/server/myfile.hpp
. Necesita incluir common/log.hpp
. Actual uso #include "../../common/log.hpp"
que es bastante detallado, pero funciona.
Si, en cambio, agrego mi directorio de inclusión principal en la ruta, podría simplemente incluir "common/log.hpp"
.
Sé que esta pregunta podría ser más acerca de la preferencia que cualquier otra cosa, pero ¿hay algún pros y contras objetivos con respecto a las aplicaciones multiplataforma y qué hay de las convenciones de C++?