[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에 넣은 문구가 나온다..
** 차이점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파일도 마찬가지고요...
보통 빌드시 실행파일은 해당 디렉토리에 관리하는것 보다는 한곳에 모아 관리를 한다
(아무래도 실행시점에서 필요한 파일들이 많기 때문에 한쪽에 모두 모아놓구 거기서 실행하는것이 좋을 것이다..
예)
위 를 보면 실제 프로젝트는 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에 넣은 문구가 나온다..
** 차이점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를 사용하자..
댓글
댓글 쓰기