2009-08-31 4 views
2

빌드 시스템에서 VisualStudio C++ 프로젝트 파일을 생성 중입니다. 프로젝트 파일에 대한 XML의 컴파일러 옵션은 컴파일러에 지정된 명령 행 옵션과 다른 형식입니다.VisualStudio 프로젝트 파일에서 옵션을 생성하는 최선의 방법

cl.exe의 명령 줄 옵션에서 VCCLCompilerTool의 프로젝트 파일 옵션을 가져와야합니다.

1 - 사람이 바로이 작업을 수행하도록 설계된 오픈 소스 스크립트를 알고 있습니까?

2 - XML에서 모든 옵션을 제거하고 "AdditionalOptions"속성에 모든 명령 행 옵션을 넣으면, 이것들을 필터링 할 것인가, 아니면 명령 행에 추가 한 모든 내용을 축 어적으로 추가 할 것인가? UI에 옵션이있는 경우 "AdditionalOptions"가 기본값을 덮어 씁니까? (나는 실제로이 경우 :

감사에 도착 무엇을 테스트 할 수있는 프록시로 cl.exe 작성된 havn't는 !!!!

답변

4

하나의 해결책은 Property Sheets (vsprops)를 사용하는 수 있습니다. 사용하려는 모든 옵션에 대해 vsprops 파일을 생성 할 수 있습니다 (Visual Studio의 속성 시트 편집기에서 수행). 그런 다음 생성 된 프로젝트 파일에서 InheritedPropertySheets seciton에서 사용할 옵션이 들어있는 각 속성 시트를 참조하십시오. 우리는 다양한 옵션을 관련 속성 시트로 그룹화하여 비슷한 작업을 수행합니다. 예를 들어 우리는 다음과 같은 속성 시트 집합을 사용합니다.

ARMASM.rules 
C++ Standards Compliance.vsprops 
Debug Program Database.vsprops 
Debug.vsprops 
Multi-Threaded Debug Libraries.vsprops 
Multi-Threaded Release Libraries.vsprops 
Optimize for Size.vsprops 
Platform Directory.vsprops 
Release.vsprops 
Static Library.vsprops 
Strictest Warnings.vsprops 
Win32.vsprops 
WinCE.vsprops 
+0

감사합니다. 예, 속성 시트는 여러 .vcproj에 공통적 인 사항을 팩터링에 유용합니다. 이들은 .vcproj 파일 자체와 동일한 * 형식입니다. 문제는 "cl.exe"컴파일러의 명령 줄 인수가 다른 형식으로되어 있다는 것입니다. VStudio에는 .vcproj 형식 (XML 특성)의 내부 변환기가 지원되는 다양한 도구에 대한 명령 줄 형식이 있습니다. 누구든지 .vcproj 형식 변환기 및/또는 그 반대의 명령 줄 형식을 수행했는지 또는이 작업을 수행 할 수있는 쉬운 방법이 있는지 궁금합니다. –

+0

매우 흥미 롭습니다. fips와 호환되는 exe의 빌드에 openssl의 fipslink.pl 스크립트를 통합하려면 매크로 언어로 perl 스크립트를 다시 작성해야합니다. 감사. 나는 이것이 정규 표현식을 훌륭하게 지원하기를 바란다. –

+0

.vsprops 안에 .rules 파일을 어떻게 통합합니까? 저에게 이것에 대한 현상금 질문은 여기에 있습니다. http : //stackoverflow.com/questions/1623609/vs2008-add-custom-build-rule-to-a-property-sheet-vsprops – shoosh

관련 문제