본문 바로가기

별걸다하는 IT/개발환경 세팅&TIPS

Visual Studio오류 LINK1104, LNK1168 에러 해결법 (cannot open file, 파일이 열려있어~, 프로세스 강제 종료)

비주얼 스튜디오 에러잡기~

비주얼 스튜디오로 프로젝트 하시다보면 심심찮게 이와 같은 에러를 보셨을 거예요.

LNK1104나 LNK1168코드가 뜨면서 갑자기 잘 되던 컴파일이 안되는거죠!

 

보통 이 에러는 이미 프로젝트 실행시켰는데 해당 창을 종료시키지 않은 상태에서 다시 실행시킬 경우, 어딘가에서 기존 것이 실행이 되고 있기 때문에 라이브러리 디펜던시가 꼬여서 발생하게 됩니다.

 

해결 방법은 간단해요.

해결법 1. 프로세스 강제 종료하기

해결법 2. 비주얼스튜디오 새로 생성하기

 

먼저 실행창을 내가 x자 안누르고(종료 안시키고) 켜진 상태에서 컴파일을 다시 돌렸나 확인해보세요. 간단하게 실행창을 끔으로써 해결될 수 있답니다.

CMD창에서 강제종료

그런데 실행창이 보이지 않아!! 꺼져있는 것 같은데 안될 경우가 있어요. 이때 콘솔창에 명령어를 쳐서 확인해보면 실질적으로 종료가 안되고 뒤에서 돌아가고 있는 것을 볼 수 있어요.

이를 위해 Window+ R 을 눌러 실행창을 켜주시고 cmd를 쳐서 콘솔창을 켜줍시다. 

 

tasklist

tasklist라는 명령어를 통해 간단하게 실행중인 프로세스를 모두 확인할 수 있어요

그러면 프로세스가 엄청나게 많이 뜰텐데요 눈아프게 일일이 찾지마시구 Ctrl+F눌러서 내 프로젝트가 실행되고 있는지 찾아줍시다!

 

간단하게 플젝명.exe찾아주면 돼요. 저의 경우, Project1이라고 이름이 지어졌기 때문에

이렇게 검색해서 찾았습니다.

여기서 중요한건 그 바로 옆에 있는 프로세스 번호라고 하는 PID예요. 해당 PID를 기억해줍시다. 1372네요.

 

다시 cmd창에 taskkill /f /PID 1372를 해서 프로세스를 강제종료 해줍시다.

고럼 이렇게 프로세스가 종료되고 다시 컴파일 해보면 잘 실행되는 것을 알 수 있을거예요.

파워셀에서 강제종료

마찬가지로 파워셀에서도 강종을 해줄 수 있습니다.

이를 위해 Window+ R 을 눌러 실행창을 켜주시고 powershell를 쳐서 파워셀을 켜줍시다. 

 

ps *프로젝트명* 
Process-Stop -Name "*프로젝트명*" -Force  //이름기준으로 강종
Process-Stop -ID [PID] -Force //PID기준으로 강종

ps 명령어는 실행중인 프로세스들을 보여줘요. 지금 내 프로젝트가 실행중인지 먼저 확인해줍시다.

그 다음 Process-Stop 명령어를 이용하면 해당 프로세스를 중지시킬 수 있습니다.

결론

사실 이 프로젝트는 디펜던시 때문에 발생하는 오류기 때문에 그냥 프로젝트를 삭제하고 새로 생성한뒤 소스만 옮겨줘도 쉽게 해결할 수 있는 에러랍니다!! 이렇게 프로세스를 강종해도 되고 안될경우 걍 프로젝트 자체를 삭제해버려요! (물론 소스파일은 복사해놓은뒤ㅎㅎ )

 

도움이 되셨나요?! 가시는 길에 공감 꾸욱 눌러주세요 ㅎㅎ

다른 포스팅에서 또 봬요!