Development Tip

Visual Studio 2010은 예상대로 종속성 인 프로젝트에서 정적 라이브러리를 자동 연결하지 않습니다.

yourdevel 2020. 12. 15. 19:51
반응형

Visual Studio 2010은 예상대로 종속성 인 프로젝트에서 정적 라이브러리를 자동 연결하지 않습니다.


  • C ++ 콘솔 명령 줄 프로젝트로 새 솔루션 만들기
  • 새 프로젝트, C ++ 정적 라이브러리 만들기
  • 명령 줄 프로젝트가 라이브러리에 종속되도록 만들기
  • 구성 => 링커 => 일반 (기본값)에서 "링크 라이브러리 종속성"이 켜져 있는지 확인하십시오.
  • Visual Studio는 여전히 라이브러리를 연결하지 않습니다.

이 문제를 어떻게 해결할 수 있습니까? Visual Studio 2008에서 작동했습니다.


이것은 여전히 ​​작동하지만 VS 2010에서 변경 되었습니다.

"VS2010에서는 암시 적 참조를 정의하는 프로젝트 종속성 지원을 중단하고 프로젝트 수준에서 프로젝트 종속성을 정의하는 새로운 방법도 도입했습니다. 프로젝트 참조와 프로젝트 종속성은 모두 프로젝트에 적용되는 밀접한 개념이므로 아래 스 니펫에서 볼 수 있듯이 프로젝트 참조 정의와 프로젝트 종속성 정의의 유일한 차이점은 다음으로 출력 어셈블리 포함 / 제외를 정의하는 메타 데이터로 구성됩니다. 주 프로젝트 링크 명령 줄에서 "프로젝트 종속성"대화 상자를 제거하지는 않았지만 "프레임 워크 및 참조"대화 상자를 통해 새 프로젝트 종속성을 정의하는 것이 좋습니다.속성 페이지 UI에서 "참조 어셈블리 출력"속성을 프로젝트 종속성에 대해 false로 설정하고 프로젝트 참조에 대해 true로 설정해야합니다. "

콘솔 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "속성-> 공통 속성-> 프레임 워크 및 참조-> 새 참조 추가"를 선택한 다음 정적 라이브러리 프로젝트를 추가하십시오. 또한 오른쪽에서 "Link Library Dependencies"가 True인지 확인하십시오. 디버그 및 릴리스 빌드에서 작동하는 것 같습니다. 당신은 매일 새로운 것을 배웁니다. ;)


그들은 VS2010에서 C ++ 프로젝트 종속성을 추가하기 위해 UI를 변경했지만 이상하게도 이전 UI를 제거하지 않았거나 더 이상 작동하지 않음을 나타내지 않았습니다.

VS2010에서 종속성을 만들려면 "새 참조 추가"(프로젝트 속성에서 찾을 수 있음)를 사용해야하며 프로젝트의 마우스 오른쪽 버튼 클릭 메뉴에서도 사용할 수 있습니다 (확인할 VS가 없습니다).

이전 "프로젝트 종속성"대화 상자는 이제 기본적으로 깨졌습니다.


MSVC 14 (2015 버전)의 경우 프로젝트를 마우스 오른쪽 버튼으로 클릭 한 다음 "Add->Reference..."필요한 모든 종속성을 확인합니다.

예, 2010 년과 2015 년 버전 사이에서 변경되었습니다. 장난!

리소스가있는 프로젝트를 연결하려는 .res경우 위의 구성에서 선택되지 않으므로 링커 입력 종속성 (프로젝트의 속성 대화 상자) 목록에서 직접 파일 을 지정해야 합니다.

최신 정보

MSVC 2017에서 여전히 동일한 (새로운) 동작


정보를 위해 IDE 내에서 빌드 할 때 이전 UI (종속성)가 Visual Studio의 빌드 순서에 영향을 미친다고 생각합니다. 새 프로젝트 구성 시스템은 IDE 외부에서 빌드 할 수 있도록 각 프로젝트 파일에 참조를 포함합니다 (이전 버전에서는 종속성이 솔루션 수준에서만 수행 되었기 때문에 종속성에 대한 자동 연결을 얻지 못하기 때문에 불가능했습니다. ).

새로운 시스템에서 더 복잡한 프로젝트와 관련된 몇 가지 문제도 있습니다. 특히, 모든 결과 바이너리 프로젝트는 올바르게 빌드하기 위해 모든 종속 라이브러리에 대한 명시적인 참조가 있어야하지만 이전에는 다른 종속 라이브러리에서 효과적으로 상속 될 수있었습니다. 하지만 근본적인 원인은 같습니다.

참조 URL : https://stackoverflow.com/questions/3795567/visual-studio-2010-not-autolinking-static-libraries-from-projects-that-are-depen

반응형