C ++ 라이브러리에서 작업 중입니다. 궁극적으로 몇 가지 예제 및 Python 바인딩 과 함께 여러 플랫폼 (적어도 Linux 및 Windows)에서 공개적으로 사용할 수 있도록 만들고 싶습니다 . 작업은 훌륭하게 진행되고 있지만 현재 프로젝트는 매우 지저분하고 Visual C ++ 에서만 빌드되고 다중 플랫폼이 아닙니다.
따라서 정리가 필요하다고 생각합니다. 가장 먼저 개선하고 싶은 것은 프로젝트의 디렉토리 구조입니다. 여러 플랫폼에서 쉽게 컴파일 할 수 있도록 Automake 도구에 적합한 구조를 만들고 싶지만 이전에 사용한 적이 없습니다. 여전히 Visual Studio에서 (대부분의) 코딩을 수행 할 것이므로 Visual Studio 프로젝트 및 솔루션 파일도 보관할 어딘가가 필요합니다.
"C ++ 라이브러리 디렉토리 구조"와 같은 용어로 Google을 검색했지만 유용한 것은없는 것 같습니다. 매우 기본적인 지침을 찾았지만 명확한 해결책은 없습니다.
일부 오픈 소스 라이브러리를 살펴보면서 다음을 생각해 냈습니다.
\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
...
저는 다중 플랫폼 개발 / 오픈 소스 프로젝트에 대한 경험이 없거나 거의 없었으며 그러한 프로젝트를 구성하는 방법에 대한 좋은 지침을 찾을 수 없다는 사실에 상당히 놀랐습니다.
일반적으로 그러한 도서관 프로젝트를 어떻게 구성해야합니까? 읽기를 권장하는 CA는 무엇입니까? 좋은 예가 있습니까?