2011-09-08 10 views
3

Linux, Mac OS 및 Windows에서 개발중인 대규모 C 프로젝트가 있습니다. 대부분의 Windows 개발자는 MSVC를 사용합니다. 예를 들어, Visual C의 무료 버전과 같이 자주 사용되는 .c 소스 파일은 추가, 이름 변경 또는 삭제되며 Visual C 프로젝트를 이러한 디렉토리 변경 사항과 동기화하는 데 매우 실망합니다 .Visual Studio 프로젝트 파일을 디렉터리 내용과 동기화 상태로 유지 하시겠습니까?

개발자 A는 newfile.c을 추가하고 Subversion에 체크인하여 행복하게 계속 작업 할 수 있습니다.

개발자 B, C 등은 최신 버전으로 업데이트됩니다. 그런 다음 MSVC에서 컴파일 할 때 링커가 그러한 심볼을 찾을 수 없다는 오류 (대용량 컴파일 결과의 어딘가에 묻혀 있음)가 발생합니다. 그런 다음 변경된 파일을보고 MSVC의 프로젝트 트리에 수동으로 추가해야합니다.

(개발자 A는 스크립트가 자동으로 컴파일 할 수있는 권리 파일을 찾고, 그들은 단지 B와 C를 위해 만든 얼마나 많은 일을 깨닫지하는 경향이 구축 곳 유닉스에있을 수 있습니다!)

이 이, 내 질문은

입니다 MSVC에게 프로젝트의 일부로 디렉토리의 모든 .c 파일을 고려하도록 지시하는 방법이 있습니까?

업데이트 초기 MSVC 프로젝트 파일을 만들 수있는 빌드 스크립트가 있습니다. 그러나 스크립트가 새 파일을 추가하기 위해 재실행 될 때마다 날아가 버릴 수있는 커스터마이징 (커스터마이징)이 있습니다 (라이브러리 등을 가리킴).

큰 프로젝트가 얼마나 많은지 감안할 때 비주얼 스튜디오는 다른 개발자가 추가 한 새 파일을 픽업하기 위해 각 개발자가 수작업으로 작업해야한다는 사실에 놀랐습니다. 지금은 더 나은 해결책을 낙관적으로 결정할 것입니다 ...

답변

4

저는 Visual Studio가 원하는 것을 할 수 있다고 생각하지 않습니다. (틀렸다고 입증 되더라도 기쁠 것입니다.).

나를 위해 적합한 것은 크로스 플랫폼 프로젝트 파일을 사용하는 것입니다. CMake을보고 플랫폼 독립적 인 텍스트 기반 형식으로 프로젝트의 구조를 정의 할 수 있습니다. 그런 다음 각 플랫폼에서이 프로젝트 파일을 도구로 처리하여 Makefiles, Visual Studio 솔루션 및 프로젝트 파일 등을 자동으로 생성합니다.

+0

슬프게도 이것이 아마도 가장 좋은 해결 방법이라고 생각합니다. – Edmund

1

이것이 심각한 문제인 경우 필자는 VS 프로젝트 파일을 디렉토리 내용에 맞게 업데이트하는 스크립트.

+0

다양한 프로젝트 사용자 정의를 변경하지 않고 작성하는 것이 가장 효율적일 수 있습니다. – Edmund

+0

공유 할 수있는 예제 스크립트는 무엇입니까? –

관련 문제