반응형

(Visual Studio) 한 프로젝트 안에서 소스파일 각각 실행하는 법


 

알고리즘 문제나 책의 연습문제들을 풀다 보면 추가적으로 다른 프로젝트 생성하는 것이 귀찮아서

한 프로젝트 안에서 소스파일을 여러 개 만들어서 빠르게 코딩하고 싶어 집니다. 

 

하지만 위처럼 한 프로젝트 안에서 main 소스파일이 두 개 이상일 때 컴파일되지 않으며 오류 메시지로

"fatal error LNK1169: 여러 번 정의된 기호가 있습니다." 라는 문구가 발생하여 실행이 불가능합니다.

이는 한 프로젝트 안에 main이 두 개여서 발생하는 오류 메시지입니다.

 

한 프로젝트 안에서 main을 갖는 소스파일은 반드시 하나여야 하므로

결과적으로 한 프로젝트안에 main을 갖는 소스파일들을 하나빼고 전부 제외시켜주어야 합니다.

 

프로그램 구동을 위해서 main을 하나만 남겨주는 방법으로 여러 가지가 있지만

이 글에서 소개할 방법인 1. 프로젝트에서 제외하는 방식, 2. 빌드에서 제외하는 방식 두 가지 해결방법을 알려드리겠습니다.

 


 

해결방법 첫 번째

 

그림처럼 소스파일의 오른쪽 마우스를 누르고 프로젝트에서 제외를 하면 해당 소스파일은 프로젝트에서 빠르게 제거해줄 수 있습니다.

이처럼 제거하는 것은 소스파일을 완전히 삭제하는 것이 아니라 컴퓨터의 로컬 저장소에는 남고 visual studio에서만 인식하지 못하게 하는 방식입니다.

이렇게 하면 main이 하나이므로 정상 구동됩니다.

 

제거해놨던 소스파일을 이용하기 위해서 visual studio로 다시 불러들이고 싶을 때는 아래 사진과 같이

 

(소스파일 오른쪽 마우스 클릭 - 추가 - 기존 항목)에서 제거했던 해당 소스파일을 찾아서 visual studio에 다시 복구할 수 있습니다.

로컬저장소에 남기고 프로젝트에서 제외되므로 보기에 깔끔하지만 다시 이용하고 싶을때 다시 불러와야 하기 때문에 조금 번거로울 수 있는 방법입니다. 

 


 

두 번째 방법

소스파일 속성에서 빌드에서 제외시켜 해당 소스파일을 구동되지 못하게 하는 방법입니다.

 

 

소스파일 오른쪽 마우스 클릭 - 속성 - 빌드에서 제외(예)를 설정하시면 컴파일 시 해당 소스파일을 제외한 채로 컴파일되어 방해하지 않게 만들 수 있습니다.

 

빌드에서 제외하게 되면 위 사진처럼 소스파일 이름명 옆에 "-" 표시로 제외된 것을 육안으로 확인 가능합니다.

다시 복구하고 싶을 때는 반대로 빌드에서 제외 - 아니오를 설정 해주시면 복구됩니다.

 

저는 빌드에서 제외하여 이용하는 이 두 번째 방식을 선호하며 위에서 소개해드린

두 가지 방법 중 원하시는 방법을 선택하셔서 프로젝트를 추가로 생성하여 소스파일을 또 작성해야 하는 번거로움을 줄이시길 바랍니다.

반응형

+ Recent posts