윈도우 프로젝트 필수 유틸리티 중에서 내가 몰랐던 것이나 깜박 잊고 지나갔던 것을 정리해본다.
VCBuild
Tip
/rebuild /MP C:\project.sln "Release|Win32"와 같이 /MP 옵션을 설정하면 빌드할 때 여러 개의 프로세스를 생성하여 컴파일하므로 다중 프로세서 환경에서 컴파일 시간을 향상시킬 수 있습니다.
64비트 빌드와 디버그 빌드
< devenv > 를 사용하면 Release 모드와 Debug 모드를 구분해서 빌드할 수 있지만, 32, 64비트 빌드를 구분해서 할 수는 없습니다. < devenv >에서 64비트 빌드를 하려면 프로젝트 설정에서 Win32 플랫폼은 삭제하고 x64만 남겨두어야 합니다. VCBuild는 Release 모드와 Debug 모드를 구분해서 빌드할 수 있고, 32, 64비트 빌드를 구분하여 할 수 있습니다.
ccnet.config
Build Publisher
<buildpublisher/> 태그는 빌드가 끝난 뒤 결과물을 특정 디렉터리에 복사해주는 기능을 합니다.
이 기능을 활용해야 하는데 깜박했었다. 아니면 MSBuild를 이용해 배포 기능을 직접 구현하는 편이 좋을지도 모른다. 하여튼 검토해보자.
Tip
주석은 HTML, XML과 똑같은 <!–, –>입니다. ccnet.config에서 한글 경로 및 한글 주석을 사용하려면 ccnet.config의 첫 번째 줄에 encoding 속성을 UTF-8로 지정하고, 이 설정 파일을 저장할 때도 encoding을 UTF로 저장해야 합니다.
Trac
소스 코드
{{{ #!c #include <stdio.h> int main() { printf("Hello World\d"); } }}}
#!LanguageName
를 쓰는 걸 몰랐네.
Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
vcbuild 라는게 있군요. msbuild 가지고 일일이 devenv 실행 + 커맨드라인 옵션에 /MP 줘서 빌드하고 있었는데 좀 편해지겠네요;;;
Trac에서 #!로 언어에 맞춰서 처리하는 기능은 이전부터 존재하던 위키 중 상당수랑 겹칩니다.
어떻게 하면 문법 하일라잇이 먹을까 고민하다가 다른 위키에서 하던대로 하니까 되더군요(…)
어라, <MSBuild>를 사용하면 곧바로 솔루션 파일을 빌드해주는데요. 내부적으론 vcbuild를 사용합니다만……
그런데 vcbuild가 devenv와 약간 달라서, devenv로 빌드되던 것도 vcbuild로 하면 안 될 때가 많습니다. x64 + C++/CLI 조합일 때 극악이구요. 어떻게든 해결하는 방법이야 있지만, 어디에도 그런 방법을 다룬 문서가 없으니 혼자 해결해야 합니다. 큭.