[Project]->[Settings]->[Post-build step]에서,
call "c:\abc.exe"이런식으로 해주면, 그 파일이 실행되겠죠....bat파일도 마찬가지고요...
보통 빌드시 실행파일은 해당 디렉토리에 관리하는것 보다는 한곳에 모아 관리를 한다
(아무래도 실행시점에서 필요한 파일들이 많기 때문에 한쪽에 모두 모아놓구 거기서 실행하는것이 좋을 것이다..
예)
위 를 보면 실제 프로젝트는 NeoTestAuthoringStudio나 Common DLL의 NeoTestExamEdit, NeoTestExamProp이다..근데..그것들의 결과 파일이야 해당 디렉토리의 Debug, Release에 생성되지만 실제 실행하는 곳은 _Output_의 Debug 나 Release이다. 아마도 _Output_의 Debug나 Release에는 실행파일들을 실행하기위해 필요한 DLL들이 모아져있을 것이다.
이렇게 나뉘어져 있을경우 보통은..컴파일이 다 끝나고 맨 마지막 작업으로 실제 프로젝트의 Debug나 Release에서 _Output_의 Debug나 Release로 복사를 하게 되는데.. 이 복사를 하게 세팅하는 위치는 Project-Settings의 Custom Build탭이거나 또는 Post-Build step 탭이 될것이다.
이 두 탭의 차이점과 세팅하는 법에 대하여 알아보자...
** 세팅법(위 그림의 NeoTestAuthoringStudio일 경우...)
1. Post-Build step탭에 세팅할 경우...
이 경우는 Debug와 Release가 다르다..
- Debug 일 경우..
copy Debug\NeoTestAuthoringStudio.exe
..\_Output_\Debug\NeoTestAuthoringStudio.exe
- Release 일 경우..
copy Release\NeoTestAuthoringStudio.exe
..\_Output_\Release\NeoTestAuthoringStudio.exe
2. Custom Build탭에 세팅할 경우...
Commands에
IF EXIST ..\_Output_\$(InputPath) attrib -r ..\_Output_\$(InputPath)
copy $(InputPath) ..\_Output_\$(InputPath)
Outputs에
..\_Output_\$(InputPath)
이렇게 해준다..
의미는..
IF EXIST ..\_Output_\$(InputPath) attrib -r ..\_Output_\$(InputPath)
--> 만약 파일이 읽기전용이더라도 쓸수있게 해준다....
copy $(InputPath) ..\_Output_\$(InputPath)
--> 복사한다.. 라는 뜻이다.
보통 Debug\NeoTestAuthoringStudion.exe은 $(InputPath)이 된다.
추가적으로 이 탭의 Description에는 빌드시 output창에 나오는 마지막 나올 문구이다..
보통 빌드하면 output창에 컴파일내용, 링크, 그 다음에 이 Description에 넣은 문구가 나온다..![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vVyI6JU7m5J8l5yHNbHLuB_85ldTfKCyu9-EYJuq0sxnVAxPY49YQ1N1F7z-Jn1EJZsVv0S1X6BVKkNXR6nnGrIerTHAWV1z7nDgsieiXnKQVeofrwi12EJyWESEE4adMWzQ=s0-d)
** 차이점1. Custom Build 는 컴파일의 과정으로 인식되기 때문에 잘못되어 있을경우 에러가 난다..
Post-build step 은 말 그대로 빌드와 다른 단계이기 때문에 컴파일 시점의 에러를 내주진 않는다..
2. Custom Build는 Debug와 Release를 같에 세팅한다.
Post-build step 은 Debug와 Release를 달리 세팅해줘야 한다.
3. Custom Build 는 Outputs에 있는 결과파일을 확인하기 때문에 한번 빌드한 후 결과를 지우고 다시 빌드를 하면 결과물을 다시 생성한다.
Post-build step은 다시 생성하지 않는다..
음... 가급적이면 Custom Build를 사용하자..
call "c:\abc.exe"이런식으로 해주면, 그 파일이 실행되겠죠....bat파일도 마찬가지고요...
보통 빌드시 실행파일은 해당 디렉토리에 관리하는것 보다는 한곳에 모아 관리를 한다
(아무래도 실행시점에서 필요한 파일들이 많기 때문에 한쪽에 모두 모아놓구 거기서 실행하는것이 좋을 것이다..
예)
이렇게 나뉘어져 있을경우 보통은..컴파일이 다 끝나고 맨 마지막 작업으로 실제 프로젝트의 Debug나 Release에서 _Output_의 Debug나 Release로 복사를 하게 되는데.. 이 복사를 하게 세팅하는 위치는 Project-Settings의 Custom Build탭이거나 또는 Post-Build step 탭이 될것이다.
이 두 탭의 차이점과 세팅하는 법에 대하여 알아보자...
** 세팅법(위 그림의 NeoTestAuthoringStudio일 경우...)
1. Post-Build step탭에 세팅할 경우...
이 경우는 Debug와 Release가 다르다..
- Debug 일 경우..
copy Debug\NeoTestAuthoringStudio.exe
..\_Output_\Debug\NeoTestAuthoringStudio.exe
- Release 일 경우..
copy Release\NeoTestAuthoringStudio.exe
..\_Output_\Release\NeoTestAuthoringStudio.exe
Commands에
IF EXIST ..\_Output_\$(InputPath) attrib -r ..\_Output_\$(InputPath)
copy $(InputPath) ..\_Output_\$(InputPath)
Outputs에
..\_Output_\$(InputPath)
이렇게 해준다..
의미는..
IF EXIST ..\_Output_\$(InputPath) attrib -r ..\_Output_\$(InputPath)
--> 만약 파일이 읽기전용이더라도 쓸수있게 해준다....
copy $(InputPath) ..\_Output_\$(InputPath)
--> 복사한다.. 라는 뜻이다.
보통 Debug\NeoTestAuthoringStudion.exe은 $(InputPath)이 된다.
보통 빌드하면 output창에 컴파일내용, 링크, 그 다음에 이 Description에 넣은 문구가 나온다..
** 차이점1. Custom Build 는 컴파일의 과정으로 인식되기 때문에 잘못되어 있을경우 에러가 난다..
Post-build step 은 말 그대로 빌드와 다른 단계이기 때문에 컴파일 시점의 에러를 내주진 않는다..
2. Custom Build는 Debug와 Release를 같에 세팅한다.
Post-build step 은 Debug와 Release를 달리 세팅해줘야 한다.
3. Custom Build 는 Outputs에 있는 결과파일을 확인하기 때문에 한번 빌드한 후 결과를 지우고 다시 빌드를 하면 결과물을 다시 생성한다.
Post-build step은 다시 생성하지 않는다..
음... 가급적이면 Custom Build를 사용하자..
댓글
댓글 쓰기