2017-03-10 1 views
2

libpng, zlib 및 lcms 라이브러리가 필요한 C 도구가 있습니다. 유닉스에서 나는이 의존성을 pkg-config을 통해 얻지 만, Windows에서는 의존 할 수 없기 때문에 라이브러리를 작성하는 사용자는 이러한 의존성을 수동으로 얻고 구축해야한다.Windows/MSVC에서 C 라이브러리 종속성을 자동으로 찾거나 빌드하는 방법은 무엇입니까?

대부분의 Windows 고유 방식으로 이러한 종속성을 자동화하는 방법은 무엇입니까? 나는 MinGW가 도움이된다는 것을 알고 있지만, 그것은 약간의 부작용입니다. Microsoft 툴체인을 사용하여 작업하는 방법을 배우고 싶습니다.

  • Windows에서 공유 타사 라이브러리를 검색 할 때 어떤 점이 있습니까? 아니면 정적으로 직접 연결해야합니까?
  • 빌드 스크립트의 일부로 라이브러리를 다운로드하고 빌드하려면 어떻게해야합니까?
  • Microsoft에서 C 용 NuGet 사용을 권장하지 않는 것처럼 보입니까? https://github.com/Microsoft/vcpkg/blob/master/docs/about/faq.md#why-not-nuget

답변

2

Nuget을 살펴 보는 것이 좋습니다. 이런 종류의 일에 마이크로 소프트의 표준이되고 있습니다. 많은 사람들은 Nuget이. NET 용이라고 생각하지만 VC++에서도 훌륭하게 작동합니다. 회사에서 헤더와 컴파일 된 libs를 제공하는 Nuget 서버를 설정하는 데 많은 성공을 거두었으며 모든 자동화 된 빌드 시스템을 통해 자동으로 이러한 작업을 만들었습니다. 여기서 모든 세부 사항을 자세히 설명하지는 않지만 기본적으로 빌드를 수행하고 프리 컴파일러와 링크 옵션을 자동으로 설정하는 MSBuild XML 스 니펫을 만든 다음 모든 비트 (헤더, 라이브러리, XML)를 패키징합니다) 올바른 방법으로. 올바르게 끝나면 새로운 프로젝트에서 기존 패키지를 사용하는 두 단계 프로세스 - Nuget 참조를 설정 한 다음 #include를 코드에 추가합니다. 서버가 필요하지 않습니다. 직접 제어 할 수있는 디렉토리에서 직접 소스를 보낼 수 있습니다.

https://docs.microsoft.com/en-us/nuget/create-packages/native-packages

관련 문제