Ad esempio, se ho creato una libreria, libcommon, che utilizza un'altra libreria personalizzata, ma ampiamente utilizzata in un campo specifico (some_other), come questa:
libcommon.h
#ifndef LIBCOMMON_H
#define LIBCOMMON_H
#include "some_other.h"
void do_something1();
void do_something2();
#endif /* LIBCOMMON_H */
Quindi se voglio usare la libreria, e ho qualcosa di simile nel mio main.c
#include "libcommon.h"
int main() {
do_something1();
do_something2();
}
Poi nel mio progetto ottengo
fatal error C1083: Cannot open include file: 'some_other.h': No such file or directory.
Ora posso risolvere questo problema fornendo il percorso di inclusione a some_other.h nel mio progetto, ma preferirei rendere la vita più facile agli utenti di libcommon. Come faccio?
Suppongo di dover essere sicuro di non utilizzare alcun tipo o funzione definita in some_other.h perché funzioni correttamente? È un approccio comune? O è abbastanza spesso il caso che per esempio una libreria di helper che usa un'altra libreria standard, la stessa libreria some_other, quindi rendere l'utente del set di lib include percorsi per alcuni_altri header è ok?
Sto cercando di avere un'idea di come altre persone risolvono questo problema e i buoni approcci.