Sto lavorando su una libreria C++. In definitiva, mi piacerebbe renderlo pubblicamente disponibile per più piattaforme (almeno Linux e Windows), insieme ad alcuni esempi e binding Python. Il lavoro sta procedendo bene, ma al momento il progetto è abbastanza disordinato, costruito esclusivamente in e per Visual C++ e non multipiattaforma.Struttura di directory per una libreria C++
Pertanto, sento che una pulizia è in ordine. La prima cosa che vorrei migliorare è la struttura delle directory del progetto. Mi piacerebbe creare una struttura adatta agli strumenti Automake per consentire una facile compilazione su più piattaforme, ma non le ho mai usate prima. Dato che continuerò a fare (la maggior parte) la codifica in Visual Studio, avrò bisogno di qualche parte per mantenere anche i miei progetti di Visual Studio e i miei file di soluzione.
Ho provato a google termini come "struttura di directory libreria C++", ma non sembra utile nulla di utile. Ho trovato alcune linee guida molto basilari, ma nessuna soluzione cristallina.
Guardando alcune librerie open source, mi si avvicinò con il seguente:
\mylib
\mylib <source files, read somewhere to avoid 'src' directory>
\include? or just mix .cpp and .h
\bin <compiled examples, where to put the sources?>
\python <Python bindings stuff>
\lib <compiled library>
\projects <VC++ project files, .sln goes in project root?>
\include?
README
AUTHORS
...
Non ho/poca esperienza precedente con lo sviluppo multi-piattaforma/progetti open source e sono molto stupito che non riesco a trovare eventuali buone linee guida su come strutturare un tale progetto.
Come si dovrebbe generalmente strutturare un tale progetto di biblioteca? Cosa si consiglia di leggere? Ci sono dei buoni esempi?
sembra un duplicato di http://stackoverflow.com/questions/1383174/source-file-organisation/1383188#1383188 –