빌드 이벤트에서 robocopy 사용 시 $(TargetDir) 매크로를 지정하는 경우 오류 발생
다음의 글에서,
Visual Studio 2013/2015 - Ceemple OpenCV 확장을 이용한 웹캠 영상 출력
; https://www.sysnet.pe.kr/2/0/11094
"Build Events" / "Post-Build Event" 설정에 robocopy를 이용한 복사를 했었는데요.
robocopy %Opencv4VS%\bin $(TargetDir)
exit 0
일반적으로는 잘 동작하지만, $(TargetDir)의 경로에 공백이 있으면 robocopy는 3개의 인자가 들어온 것으로 인식하기 때문에 정상적으로 복사가 되지 않습니다. 이를 방지하기 위해 큰따옴표를 줄 수 있는데요.
robocopy %Opencv4VS%\bin "$(TargetDir)"
exit 0
아쉽게도 역시나 다음과 같이 오류가 발생합니다.
Error MSB3073 The command "robocopy C:\opencv\bin "C:\Test Folder\ConsoleApplication1\ConsoleApplication1\bin\Debug\"
문제는, 마지막 Debug 이후에 나오는 '\' 역 슬래시 문자가 escapse sequence 역할을 하기 때문입니다.
\Debug\"
따라서, 이 오류를 우회하려면 다음과 같이 '\' 역 슬래시 문자를 한번 더 써주면 됩니다.
robocopy %Opencv4VS%\bin "$(TargetDir)\"
exit 0
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]