2013-07-20 2 views
1

EXE로 빌드하는 C++ 프로젝트가 있습니다. 그러나 정적 라이브러리 (.LIB 파일)로 프로젝트를 빌드해야합니다. 현재 완전한 빌드를 얻으려면 프로젝트 형식을 한 가지 형식으로 작성한 다음 프로젝트 속성을 열고 일반> 프로젝트 기본값> 구성 유형에서 다른 형식을 선택하고 받아 들인 다음 다시 컴파일해야합니다. 진정한 번거 로움입니다. 두 가지 유형을 지정하는 방법이 있습니까? 나는 이것에 관해 MSDN에서 아무 것도 보지 못했다.여러 프로젝트 출력 유형 : EXE 및 LIB로 컴파일

나는 2012 년

답변

2

문제를 해결하는 일반적인 방법은 두 가지 프로젝트가 포함 된 솔루션을 만드는 것입니다. 첫 번째 프로젝트는 대부분의 코드가 포함 된 라이브러리 (정적 또는 동적으로 링크 된, 중요하지 않음) 여야합니다. 두 번째 프로젝트는 첫 번째 프로젝트에서 만든 라이브러리를 참조하는 실행 파일이어야합니다.

이렇게하면 솔루션의 단일 빌드에서 실행 파일과 라이브러리가 모두 생성됩니다.

+0

저는 대부분의 코드를 별도의 프로젝트로 나눌 수 있기를 바랍니다. 그것이이 일이 구체화 될 때 내가 원했던 것입니다. 불행히도 내가 배제한 요구 사항. 생각에 감사드립니다. –

1

는, 두 개의 프로젝트를 생성 모두에 소스 파일의 동일한 세트를 추가 Visual Studio를 사용하고 있습니다.

+0

파일 수를 복제하는 것은 의미가 없습니다. 소스를 변경할 때마다 노력을 두 배로 늘려야합니다. – pmcs

+0

@ pmcs : 이유가 무엇입니까? 나는 모든 파일의 사본을 만들고 하나의 프로젝트에 사본을 추가하고 다른 사본에 사본을 추가한다고 말하는 것이 아닙니다. 두 프로젝트에 동일한 파일을 추가하는 것입니다. 동일한 변경 사항이 두 프로젝트에 모두 표시됩니다. 실제 파일이 동일하기 때문입니다. –

+0

몇 개의 헤더와 소스 파일이 여러 디렉토리에 걸쳐 있다고 가정하십시오. 적극적으로 개발 된 프로젝트의 경우 개별 파일 자체는 물론 디렉토리 구조가 안정적이지 않을 수 있습니다. 라이브러리 프로젝트에서 디렉토리 구조를 수정할 때마다 실행 프로젝트를 수동으로 업데이트해야합니다. 동일한 솔루션 내에서 라이브러리를 참조하는 라이브러리 프로젝트와 실행 파일을 가지고 있으면 훨씬 편리합니다. 이것은 완전히 표준적인 관행입니다. – pmcs