여러 부분으로 구성된 대규모 C++ 프로젝트를 재구성하려고합니다. 이 부분의 일부와 고려해야 할 몇 가지 속성을 열거합니다.플러그인, dll 및 타사 도구가있는 대규모 C++ 프로젝트의 구조
- BaseClasses, 이것은 개발자의 작은 분리 된 그룹으로 제한됩니다. 이것은 약 15 개의 DLL입니다.
- MainProject, 이것은 모든 개발자를위한 오픈 소스입니다. 약 10 개의 DLL입니다.
- 모든 Plugin-membergroup (모든 Plugin은 특별한 개발자 그룹 임) (현재 약 20 개의 Plugin-DLL)에 대해 열려있는 여러 Pluginprojects.
- PDF Lib, Boost, (나중에 wxWidgets에서도 사용 가능), 일부 지오메트리 등 대부분의 소스는 대부분 원본과 동일하지만 일부는 그렇지 않습니다.
현재 MFC와 ATL이 거의없는 Windows OS (32Bit 만 해당)의 VisualStudio로 개발되었습니다. SVN 및 GIT로 버전이 지정되었습니다 (일부 타사 라이브러리의 경우 마지막 버전).
더 자세히 살펴 보려면 다중 플랫폼 응용 프로그램을 만들고 싶습니다. 장기적으로 이것은 다른 플랫폼에서 작동하고 크로스 플랫폼 툴 등을 사용해야합니다. 모든 부품에 대해 단일 빌드를 실행하면 매우 좋습니다. 어쩌면 CMake가 여기에서 도움이 될 수 있습니다.
저는 구조상 등등에 대해 많은 질문을했지만 올바른 대답을 찾을 수 없습니다. 또한 API 디자인이나 John Lakos "Large Scale .."과 같은 책들이 내 책꽂이에 있습니다. 또한 여러 오픈 소스 프로젝트를 살펴 보았습니다.
폴더 및 프로젝트 구조 및 이러한 응용 프로그램에 대한 종속성을 만드는 방법에 대한 권장 사항/경험/팁/설명서가 있습니까? 사전에
감사합니다, 호위
GitHub: Sundry Framework 내 프로젝트를 볼 수있다. –
나는 광범위한 질문에 대한 좋은 대답을 기대하지 않을 것이다. 그것을 나눠보십시오 (예 : "크로스 플랫폼 빌드", "대형 프로젝트 내에서 다른 소스 컨트롤을 효과적으로 다루는 방법", "대형 프로젝트의 디렉토리 구조"등 –