2017-12-07 45 views
0

저는 원래 Linux로 작성된 C++ 프로그램이 있습니다. I가 사용 나는 기본적으로 같은 cmake-파일을 사용할 수 있기 때문에,Visual Studio 2017 및 cmake에서 libzip 라이브러리 사용

https://libzip.org

내가 지금 모든게 작동 비주얼 스튜디오 2017에서 윈도우 기반 플랫폼 작업입니다 :이 프로그램은 라이브러리 libzip 함수를 사용 리눅스 플랫폼. 그러나 Linux에서는 패키지 관리자를 사용하여 libzip을 설치했습니다. 윈도우즈에서는 그런 옵션이 없다. 필자는 어떻게 든 libzip 용 Windows 버전을 만들고 CMakeLists.txt 파일에 파일 (헤더 파일과 lib 파일)을 포함시켜야합니다. 누군가가이를위한 단계별 가이드를 도와 줄 수 있습니까?

+0

'누군가가 이걸위한 단계별 가이드를 도와 줄 수 있습니까? '- 그런 질문에 대한 잘못된 사이트. 당신은 이미 Windows에서 CMake 프로젝트를 가지고 있으므로, 빌드하는 방법에 대한 기본적인 지식을 가지고 있어야합니다. 'libzip' 프로젝트에 대한 지식을 왜 적용하지 않습니까? 특정 오류가 발생하면 여기에서 물을 수 있습니다 (그러나 물어보기 전에 google을 사용하십시오). – Tsyvarev

+0

안녕하세요. 이미 건축하는 법을 알고 있습니다. 그리고 libzip에 대한 모든 참조를 제거하면 작동합니다. libzip의 함수를 사용하려고 할 때 유형 오류가 발생합니다. 치명적인 오류 LNK1120 : 해결되지 않은 7 개의 외부. "xx는"헤더 파일 올바른 directiories 및 libzip의 lib 디렉토리 파일이 어디 CMakeLists.txt 파일 내가 추가 한 세트 (LIBZIP_LIBRARY "XX") 세트 (LIBZIP_INCLUDE_DIR "XX")에서 는 나는 구축 . –

+0

글쎄, 문제는 libzip을 만드는 것이 아니라 프로젝트에서 사용하는 것입니다. "확인되지 않은 외부"는 ** 귀하가 ** 도서관 **에 ** 링크 **하는 것을 잊었음을 의미합니다. CMake의 라이브러리에 연결하는 방법은 [해당 질문] (https://stackoverflow.com/questions/8774593/cmake-link-to-external-library/10550334#10550334)을 참조하십시오. – Tsyvarev

답변

1

vcpkg을 살펴보십시오. Windows 플랫폼 용 패키지 관리자입니다. Windows 용 많은 오픈 소스 라이브러리를 빌드하고 설치합니다. libzip은 포트 중 하나로 특히 언급됩니다.