스폰서

DLL을 대량으로 만들어야 하는 일이 생겨 직접 Visual Studio 에서 DLL 을 빌드하다가 넘후 힘들어서 컴파일 및 링크를 자동으로 해주는 프로그램을 제작하였습니다.

혹시나 그런 일은 없겠지만.. 자동으로 컴파일 및 링크를 해야할 상황이 되면 유용하게 사용할 수 있는 방법이 될 수 있습니다.

먼저 Visual Studio 의 IDE 폴더는 환경변수 PATH에 등록이 되어 있어야 합니다. 왜냐하면 cl.exe 나 link.exe 가 IDE의 DLL을 사용하기 때문이죠.

그 뒤에는 해당 프로젝트 설정값들을 적절하게 argument 로 넣어서 cl.exe 를 호출해주면 됩니다.

예를 들면 아래와 같이 되겠죠.

"C:\Program Files\Microsoft Visual Studio 8\VC\bin\cl.exe" /O2 /GL /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "TEST_EXPORTS" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /FD /EHsc /MT /GS- /Fo"Release\\" /Fd"Release\vc80.pdb" /W3 /nologo /c /Wp64 /Zi /TP
/errorReport:prompt .\test.cpp

그런데 ShellExecute 로 실행을 해버리면 콘솔 창이 갑자기 나타났다가 사라져 버려서 컴파일(링크)가 제대로 되었는지 알 방법이 없습니다.

그래서 CreateProcess 로 해줘야 합니다. ^^

CreateProcess로 해줄 경우 PROCESS_INFORMATION 구조체의 hProcess 로 GetExitCodeProcess 를 통해 조회를 하면 에러가 발생했는지 아니면 컴파일이 제대로 수행되었는지 확인 할 수 있습니다.

또한 컴파일시 출력되는 경고나 에러문을 확인해야 할 경우 STARTUPINFO 구조체의 hStdOutput 와 hStdError 에 파이프를 넣어서 확인하면 됩니다.

이 부분은 적당한 예제도 있으니 참고 하시면 됩니다.

P.S. 날씨게 굉장히 무덥습니다. ㅠ_ㅠ 더위 조심하세요.

크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
스폰서

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

BLOG main image
pwd is personal website of zextor by zextor

카테고리

분류 전체보기 (353)
사는 이야기 (154)
유머마당 (30)
음악감상 (19)
피아노공부 (1)
Windows Application (7)
PDA 소프트웨어 개발 (22)
프로그래밍 (85)
컴퓨터과학 (5)
기타자료™ (7)
PlayStation2 (3)
싸이월드™ (2)
LINUX (2)
카이스트 (9)
Statistics Graph
Total : 278714
Today : 72 Yesterday : 315