2012-01-28 5 views
0

사용자로부터 파일 경로 및 파일 패턴을 받아들이고 제공된 위치에서 파일 패턴을 검색하는 C++ 클래스를 작성했습니다. 예 : C : \ MyProject * .cpp는 지정된 위치의 모든 .cp 파일을 나열합니다.Visual Studio 2010 C++ 프로젝트 구조

프로젝트를 성공적으로 빌드하고 컴파일 할 수 있습니다. 이제는 main()을 포함하고 C++ 클래스와 동일한 작업을 수행하는 Executive라는 다른 프로젝트를 만들고 싶습니다.

처럼

는 지금 구조는 같습니다

VS2010 Solution 
    - Navigator 
     -Headers 
      f1.h 
      f2.h 
      f3.h 
     -Source 
      f1.cpp 
      f2.cpp 
      f3.cpp 

나는 동일한 솔루션에서 다른 프로젝트를하고 싶은 말은 수 있습니다 누구의 주요 목적으로 같은 일을 수행하는 주요 기능을 가지고있다 메인/행정라고 네비게이터 프로젝트의 메인.

제 질문은 동일한 솔루션 아래의 Executive 프로젝트는 main.cpp가 있으며 탐색기 프로젝트의 모든 * .h 파일 사본이 필요할 것입니다. 메인 (main)이 작동하기 위해서 네비게이터의 * .cpp 파일을 Executive 프로젝트에 복사해야합니까? 아니면 이그제큐티브 프로젝트에 메인을 추가하고 hte Navigator 프로젝트를 임원 프로젝트에 대한 참조로 추가해야합니까?

답변

2

Visual Studio의 열린 솔루션, 새 프로젝트 창에서 "솔루션에 추가"옵션을 선택하고이 벤트의 이름을 지정하십시오.

동일한 솔루션으로 더 많은 프로젝트가있는 경우 Executive 프로젝트 및 C/C++ -> 일반 추가 추가 디렉터리의 속성으로 이동하여 ../Navigator/Headers;../Navigator/Source;을 사용할 수 있습니다.

그리고 Executive 프로젝트의 모든 소스 파일에서 Navigator 프로젝트의 .cpp 파일을 포함 할 수 있습니다 (예 : #include "f1.cpp"). .cpp 파일을 포함하는 데는 아무런 문제가 없습니다.

, 네비게이터 프로젝트 -> 일반 등록 정보를 열면 구성 유형이 정적 라이브러리 (.lib)로 변경됩니다. 그리고 Executive 프로젝트에서 추가 포함 디렉토리를 ../Navigator/Headers;으로 설정하고 링커 -> 일반에서 추가 라이브러리 디렉토리를 Navigator 프로젝트의 출력 폴더로 설정합니다 (출력 디렉토리를 변경하지 않은 경우 디버그 구성은 ../Debug이고 ../Release). 링커 -> 입력에서 추가 종속성 끝에 ;Navigator.lib을 추가합니다. 그런 다음 Executive 프로젝트의 소스 파일에서 .h 파일 만 포함시켜야합니다. 전체 솔루션을 빌드 할 때 Executive 프로젝트 전에 Navigator 프로젝트가 빌드되었는지 확인하려면 솔루션의 속성 -> 프로젝트 종속성으로 이동하여 Executive 프로젝트가 Navigator 프로젝트에 종속되도록 설정하십시오.

+0

* .cpp 파일을 포함하는 데는 아무런 문제가 없습니다. * 의미를 제외하고 ... –

+0

나는 내 대답을 편집하고 거기에 다른 (더 나은) 방법으로 작성했습니다. – LihO

+0

이것은 내 질문에 대한 답변입니다. ThanksLihO 나는 그것을 시도 할 것입니다. –

관련 문제