ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Visual Studio] Solution & Project
    C++/미분류 2022. 6. 7. 18:04

    프로젝트(Project)는 일반적으로 하나의 실행 파일, 혹은 그에 준하는 무언가(라이브러리 등)의 결과를 산출합니다.

    하지만, 이것이 특정 문제의 "해답"이라고 볼 수 없거나, 한 개의 프로젝트로 묶기에는 연관성이 떨어지는 경우가 존재합니다.

    예를 들어, 특정 라이브러리를 만든다거나, 서버와 클라이언트로 나뉘어있는 경우가 그럴 수 있습니다.

    Visual Studio, 그리고 대부분의 IDE는 이러한 상황을 능동적으로 다룰 수 있는 기능이 있습니다.

    이번 글에서는 이에 관해 다루어 보도록 하겠습니다.

     


     

    1. 솔루션과 프로젝트 만들기 및 추가

     

    더보기

    솔루션은 프로젝트들을 담을 수 있는 컨테이너 입니다.

    프로젝트가 모여서 솔루션이 된다고 생각해도 무방할 것 같습니다.

     

    Visual Studio는 처음 프로젝트를 만들 때, 솔루션을 설정할 수 있습니다.

    Visual Studio 2022 시작 화면

    Visual Studio에서, 솔루션과 프로젝트를 분리해보도록 하겠습니다

    새 프로젝트를 만들어, 프로젝트와 솔루션을 분리합니다. 

    만약 분리할 필요가 없을 경우, 하단의 "솔루션 및 프로젝트를 같은 디렉터리에 배치"를 체크하여 분리하지 않을 수 있습니다.

     

    우측 탐색기의 솔루션 하단에 프로젝트가 있는 것을 볼 수 있습니다.

    여기에 프로젝트를 추가해야 할 경우, 솔루션을 우클릭 하여 추가할 수 있습니다.

    두 개의 프로젝트를 추가 한 모습입니다.

     

    2. 프로젝트 시작점 설정

     

    더보기

    위와 같이 프로젝트를 분리할 경우, main함수가 두 개 이상이 될 수 있습니다.

    하지만 기본적으로 디버깅을 할 시 시작되는 main함수는 처음 만든 프로젝트로 고정됩니다.

     

    이 점은 솔루션 우클릭 -> 속성을 통해 변경할 수 있습니다.

    기본적으로는 처음 생성한 프로젝트로 설정됩니다.

    이것을 변경하는 것으로 프로젝트의 시작점을 변경할 수 있습니다.

     

    3. 프로젝트 간 공유

     

    더보기

    한 솔루션 내부에 프로젝트를 여러개 둘 경우, 솔루션 간 의존성이 생길 수 있습니다.

    한 프로젝트가 라이브러리 용도로 만들어졌을 경우가 그러합니다.

     

    이 경우, 라이브러리 프로젝트를 다른 프로젝트에서 사용하기 위해 추가적인 작업이 필요합니다.

    MyLib에는 간단한 함수 하나만 구현되어 있습니다.

    위와 같이 라이브러리를 만들기 위한 프로젝트 MyLib을 MyProject에서 사용할 수 있도록 해보겠습니다.

    우선, MyLib프로젝트를 우클릭하여 속성 페이지에 들어갑니다.

    이후 구성 형식을 정적 라이브러리로 변경합니다.

    이 과정은 프로젝트를 추가할 때 정적 라이브러리로 생성했을 경우 이미 설정되어 있습니다.

    정적 라이브러리(.lib)가 아닌 동적 라이브러리(.dll)를 추가하는 방법은 차후 다른 글에서 다룰 수 있도록 하겠습니다.

     

    이제 탐색기에서 라이브러리를 사용할 프로젝트의 참조 탭을 우클릭하여 라이브러리를 추가할 수 있습니다.

    마지막으로 사용할 프로젝트를 우클릭하여 속성 페이지로 들어간 후, C/C++탭의 추가 포함 디렉터리에 라이브러리 폴더를 추가하는 것으로 완료됩니다.

    디렉토리는 정적 디렉토리 주소를 입력해도 되지만, Visual Studio의 매크로 기능을 활용해서 간략하게 표현할 수 있습니다.

    $(SolutionDir)매크로는 솔루션 디렉토리에 매핑이 되어 있습니다.

    이것으로 솔루션 내 다른 프로젝트의 클래스, 함수를 사용할 수 있습니다.

     


     

    프로젝트를 솔루션으로 묶어주는 것은 Visual Studio에만 있는 것이 아닙니다.

    IntelliJ는 프로젝트와 모듈이라는 용어를 통해 위와 같은 관리를 수행할 수 있습니다.

     

    Visual Studio에는 여러 기능이 많이 있습니다.

    코딩을 하고, 실행을 하고, 중단점을 설정하면서 디버깅을 하는 것 이외에도 여러 부가 기능들이 있어 개발을 더 효율적으로 할 수 있습니다.

    오늘은 여러 프로젝트를 한번에 관리하는 방법에 대하여 알아보았습니다.

     

    감사합니다.

    댓글

Designed by Tistory.