Ahoj. Snažím se vytvořit jednoduchou knihovnu pro C++ v řádu desítky souborů. Každá třída je uložena v samostatném souboru, soubory jsou roztříděny do několika adresářů.
Každá třída využívá několik hlavičkových souborů. Ty, které využije jen daná třída (popřípadě ještě jedna, či dvě), vkládám (#include) přímo do hlavičkových souborů dané třídy. Problém je s hlavičkovými soubory, které využívám ve většině tříd (string, iostream, a další). Nechce se mi je psát ke každé třídě, protože nechci několikrát načítat jednu a tu samou věc.
Jak se v tomto případě postupuje?
1) Napadlo mě vytvořit jeden hlavičkový soubor, který by každá třída includovala. To ale nic neřeší, naopak se přidává další soubor, který je potřeba načíst.
2) Druhý nápad bylo vytvoření jednoho "hlavního" hlavičkového souboru, který by do sebe includoval potřebné C++ knihovny (již zmíněný string, iostream, ...). Tento hlavičkový soubor by se v projektu, který by knihovnu využíval, musel uvést jako první (první by se přidal pomocí Include) a ostatní hlavičkové soubory by z něj jen čerpaly (vše potřebné by již bylo vloženo).
3) A poslední možností je nechat vše na uživateli a starat se jen o nestandardní knihovny, které se většinou neincludují (zmínkou třeba boost). String a iostream by musel includovat do svého projektu sám uživatel.
Jak s druhým, tak s posledním případem mám problémy. Nedokážu donutit překladač (používám g++ 4.4.5), aby ignoroval chyby z neincludování potřebných hlavičkových souborů.
Díky za nápady, Lorin