티스토리 뷰

Visual C++로 프로젝트를 작성시, 예제 프로그램을 작성해야 될일이 종종 있습니다.

특히 특정 라이브러리를 사용하는 프로젝트 생성시에는 같은 작업을 반복 해주어야 합니다.
저같은 귀차니스트에게는, 같은 작업 반복은 너무나도 짜증나는 일입니다. 코드 생성기가 괜히 있나요~ 자동화를 위한 시간 투자는 추후에 편해지기 위한(게을러 지기 위한) 노력입니다.

이를 위해 Custom Wizard라는 것을 VS에서는 제공해주고 있습니다.

그 중에서도 제가 자주 사용하는 VS2005를 바탕으로 설명 드리겠습니다.

Custom Wizard를 통해서 정해진 옵션의 project 파일 및 소스 코드를 생성하는 것은 밑에 글을 참고하시면 됩니다.

Create a Visual C++ Wizard for Visual Studio 2005

주로 편집하시게 될 내용은 이하 세개의 멤버들의 값을 변경하실 가능성이 높습니다.
Configuration이 General에 탭에, CompoilerTool이 C/C++ 탭, LinkerTool이 Linker 탭에 각각 대응합니다.

VCConfiguration Members

VCCLCompilerTool Members

VCLinkerTool Members

제가 이 부분에서 좀 헤맸는데요, 저는 코드 생성시 Unicode / MultiByte, 그리고 멀티스레드 Dll, 멀티스레드를 따로 생성하는데, 이에 대한 설정을 추가하였더니 오류가 나더군요.

proj.Object.AddConfiguration('UnicodeDebug');

이후, proj 접근시 예외 발생.
몇가지 테스트 결과, Default.vcproj파일을 변경해주면 그에 맞게 새로 생성되는 프로젝트의 빌드 Configuration이 추가되는줄 알았는데 그게 아니더군요.

해당 Default.vcproj가 사용되게 하려면, 밑에 글을 참고하시면 됩니다. 
vsz 파일에, PROJECT_TEMPLATE_PATH를 지정하시면 됩니다.

마법사 .vsz 파일의 사용자 지정 매개 변수

기본적으로 Default.vcproj의 설정에서 추가/삭제 하시려면, 아래 메소드를 AddConfig 함수 내에서 호출해주셔야 합니다.
참고하시어, 편리한 프로젝트 Wizard를 구현해 라이브러리를 편리하게 관리하세요~.

VCProject.AddConfiguration Method 

VCProject.RemoveConfiguration Method

VS2010 으로 업그레이드 시에 유의 점
이후 버전에서도 적용되는 사항인데, 없어진 옵션이 있다면, 해당 옵션에 대한 구문을 삭제해주어야 한다.
스크립트 오류가 나지만 어딘지 잘 안알려주는 불친절함 때문에 꽤나 시간이 걸려 찾았다. =_= 업그레이드시 매뉴얼을 잘 보도록 하자.

'C++ > Visual Studio' 카테고리의 다른 글

Free Dev Tools VS2013 Community  (0) 2014.12.30
CodeWiz2  (2) 2012.08.13
Visual Studio .net 에서 사용되는 확장자 정리  (0) 2010.05.03
[VC++] 디버그시 변수 값의 의미  (0) 2009.10.26
댓글