2010-11-19 3 views
0

나는 FireBreath에 빌드 된 다른 두 개발자와 함께 프로젝트 작업을하고 있습니다. 지금까지, 나는 내 컴퓨터에서 완벽하게 작동하는 것들을 얻을 수 있었지만 Mercurial을 통해 우리의 개발을 조정할 필요가있다. 그래서 저장소에 파일을 밀어 넣고 모든 것이 잘되었다고 생각했습니다.여러 개발자가 동일한 vcproj 파일을 사용하려면 어떻게해야합니까?

아쉽게도 작동하지 않습니다.

솔루션을 구성하는 다양한 .vcproj 파일에는 모두 로컬 파일 시스템에 대한 하드 코딩 된 참조가 포함되어 있습니다. 프로젝트를 움직이지 않을 것이기 때문에 이것은 저에게 잘 돌아갑니다. 그러나 다른 파일 구조 (다른 드라이브 문자, 다른 폴더 위치 등)를 가진 다른 컴퓨터에서 솔루션을 빌드하려고하면 모든 것이 손상됩니다.

FireBreath의 표준 프로젝트 생성 스크립트 (Python)와 Visual Studio CMake 스크립트 (prep2008.cmd)를 사용하여 솔루션 파일을 생성했습니다. 다른 개발자가 동일한 코드 기반을 사용할 수 있도록 작업을 조정할 수 있습니까?

답변

3

모든 사람이 sbi의 답변에서 업데이트 된 의견을 찾았는지 확인하려면 FireBreath 개발자의 "확실한"답변을 제공하겠습니다.

빌드 디렉토리는 일회용입니다. 절대 .vcproj 파일을 공유해야합니다. 대신 CMake를 사용하는 프로젝트와 마찬가지로 프로젝트를 변경할 때마다 또는 새 컴퓨터마다 빌드/디렉토리를 다시 생성해야합니다. 자세한 내용은

, 나는 FireBreath의 주요 저자, 참고로

http://colonelpanic.net/2010/11/firebreath-tips-working-with-source-control/을보고 나는 기사를 썼다.

0

편집 : 나는 그것을 명확하게하기 위해 나의 모든 것을 다시 썼다. 내가 당신을 올바르게 찾았다면 문제는 FireBreath가 절대 경로가있는 .vcproj 파일을 생성하고이 .vcproj 파일을 다른 개발자 컴퓨터에서 사용하려는 것입니다. 그것으로

  1. 라이브 :

    나는 3 옵션을 참조하십시오. 즉, 모든 팀 구성원이 파일 시스템에 동일한 파일 구조 /보기를 갖고, 같은 위치에 설치된 도구를 사용해야합니다.

  2. , 상대 경로, 환경 변수 등을 1 또는 2가 작동하지 않습니다

  3. 경우의 사용을 허용하는 그들의 된 .vcproj 생성기를 변경 FireBreath의 저자에게 물어 절대 경로를 변경하는 프로그램이나 스크립트를 작성 그 .vcproj 파일의 친척에게. FireBreath 프로젝트를 재생성해야 할 때마다이 스크립트를 실행하십시오. 이 때문에 FireBreath FAQ에하지 말아야 할 무엇

은 : 이러한 변경 사항은 프로젝트가 다시 생성되어 다음 번에 손실됩니다 수동으로 된 .vcproj을 변경하지 마십시오.

편집 : "옵션 4"인 것 같습니다. 가장 좋은 해결책으로 밝혀졌습니다. 각 개발자마다 파일을 각각 .vcproj 개 생성합니다. 희망은 내 제안도 도움이되었다.

+0

그러면 한 개발자를 다른 프로젝트로 전환해야 할 때 무엇을합니까? 그의 기계 전체를 다시 설치 하시겠습니까? – sbi

+0

글쎄, 필자는 다른 프로젝트의 파일 구조가 완전히 호환되지 않는 상황이 결코 없었다. 내 제안이 적용될 수 있다면 당신이 일하는 조직의 종류에 달려 있습니다. –

2

저는 FireBreath에 익숙하지 않지만 참조를 상대적으로 만들고 모든 기계에서 상대적 구조를 다시 만들어야합니다. 즉, 프로젝트가 "c : \ myprojects \ thisproject"에 있고 추가 디렉토리 "c : \ mydir \ mylib \ include"가있는 경우에는 후자의 경로를 ".... \ mydir \ mylib \ include "입니다.

5

개발자가 동일한 빌드/make/프로젝트 파일을 사용하지 않는 경우이 작업이 신속하게 유지 관리의 악몽이 될 수 있습니다. 따라서 은 모두이며 모두 .vcproj 파일을 사용해야합니다. (프로젝트 파일이 다른 파일에서 생성 된 경우 예외 일 수 있습니다.이 경우 다른 파일을 위에서 설명한 방법으로 처리하십시오.)

다른 컴퓨터에서 다른 설정 문제를 해결하는 두 가지 방법이 있습니다 . 하나는 모든 경로를 만드는 것입니다. 은 프로젝트 경로를 기준으로입니다.다른 하나는 환경 변수을 사용하여/tools/libraries/files 파일을 참조하는 것입니다. IME 프로젝트와 함께 체크 아웃 할 수있는 모든 것에 상대 경로를 사용하고 나머지에는 환경 변수를 사용하는 것이 가장 좋습니다. 필요한 모든 환경 변수의 존재를 확인하고, 누락 된 것들의 의미를 지적하고이를 빌드 전제 조건으로 실행하는 스크립트를 추가하십시오. 따라서 새로운 빌드 시스템을 시작하려고 시도하는 사람은 무엇을해야할지 힌트를 얻습니다.

+0

저는 자체 문서화 빌드에 대한 아이디어를 좋아합니다. – shambulator

+0

@sbi : 당신은 그 .vcproj 파일이 FireBreath로 생성된다는 사실을 완전히 무시하고 있습니다. –

+0

@Doc : 오. 나는 FireBreath를 모른다. 그것은 무엇을합니까? – sbi

관련 문제