프로젝트를 빌드 할 때 라이브러리를 관리하는 방법은 무엇입니까?

Akuzminykh

XXX다른 프레임 워크에 의존 하는 프로젝트 YYY있습니다. 프레임 워크는 YYYConfig.cmake. 프로젝트를 구성 할 때 변수 cmake-gui위에 프레임 워크를 추가합니다 YYY_DIR. 솔루션을 생성하고 구축합니다. 이제 실행할 때 from을 로드 할 수 없다는 XXX.exe오류가 발생합니다 . 내가 옳다 경우 라이브러리와 헤더 파일이 발견된다..dllYYY.lib

온라인에서이 파일이 .dll있는 동일한 폴더에 넣어야 하는 것을 보았습니다 .exe. 그러나 .dll설치 폴더에 이미 있는를 왜 사용할 수 YYY없습니까? 그리고 .dll내 프로젝트에 필요한 모든 것을 올바른 폴더 에 자동으로 넣는 방법이 있습니까?

배포에 대한 기본적인 지식이 부족하다는 느낌이 들기 때문에 도움이되는 참조 나 링크에 감사드립니다. 감사.


추가 정보

나는 프레임 워크, 즉 구축 한 AliceVision 사용 vcpkg, cmake-gui및 Visual Studio 2019 다음과 같은 폴더가 포함되어있는 설치 프레임 워크의 폴더를 :

  • bin많은 사람들 .exe.dll
  • share어디에 AliceVisionConfig.cmake있는
  • include많은 .hpp프레임 워크 및 기타 종속성
  • lib 많은 .lib

이제 간단한 테스트 프로젝트를 만들려고합니다. main.cpp

#include <iostream>
#include <aliceVision/system/cpu.hpp>

int main()
{
    std::cout << "Total cpus " << aliceVision::system::get_total_cpus() << std::endl;
    return EXIT_SUCCESS;
}

그리고 CMakeLists.txt

cmake_minimum_required(VERSION 3.3)

project(AliceVisionAs3rdParty)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(AliceVision CONFIG REQUIRED)
message(STATUS "Found AliceVision : ${AliceVision_FOUND}")
message(STATUS "Found AliceVision version: ${AliceVision_VERSION}")

add_executable(testAV3rd main.cpp)
target_link_libraries(testAV3rd PUBLIC aliceVision_system)

cmake-gui내 테스트 프로젝트의 폴더에서 구성 할 때 AliceVision_DIR폴더 AliceVisionConfig.cmake가있는 위치 를 가리키는 변수 사용하고 있습니다. vcpkg일부 종속성을 위해 프레임 워크에 필요한 도구 모음에 사용 하고 있습니다. 그런 다음 솔루션을 생성하고 구축합니다. 여기에서을 (를) 찾을 수 없다는 .exe메시지를 받고 시작하는 지점 aliceVision_system.dll입니다. 그것은에 존재하는 bin프레임 워크의 폴더로 aliceVision_system.lib에서 lib폴더. 나는를 확인했습니다 .exe종속성 그래,이입니다 .dll찾을 수없는 것을. 모든 Windows 항목 .dll이 발견되었습니다 ...

dboy

cmake 라이브러리를 제공해야합니다.

add_library(aliceVision_system SHARED IMPORTED)

이 사전 컴파일 된 라이브러리의 경로를 모르는 경우 evtl. 을 정의해야합니다 link_directories(path_to_your_library).

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Emscripten으로 빌드 할 때 라이브러리 헤더를 포함하는 방법은 무엇입니까?

분류에서Dev

ASP.NET 5 프로젝트를 빌드 할 때 경고를 억제하는 방법은 무엇입니까?

분류에서Dev

소스에서 애플리케이션을 빌드 할 때 특정 라이브러리를 사용하는 방법은 무엇입니까?

분류에서Dev

UnsatisfiedLinkError : Play 애플리케이션을 실행할 때 opencv의 네이티브 라이브러리를로드하는 방법은 무엇입니까?

분류에서Dev

공유 라이브러리를 사용할 때 EAL 옵션을 사용하여 DPDK 드라이버를 지정하는 방법은 무엇입니까?

분류에서Dev

.NET Core 및 .NET Framework 응용 프로그램에서 라이브러리 프로젝트를 사용할 때 라이브러리 프로젝트를 변환하는 가장 좋은 옵션은 무엇입니까?

분류에서Dev

소스 코드에서 설치할 때 공유 라이브러리를 최신 버전으로 업그레이드하는 방법은 무엇입니까?

분류에서Dev

프로젝트를 빌드 할 때마다 xcode 프로젝트를 정리해야하는 이유는 무엇입니까?

분류에서Dev

프로젝트가 빌드 될 때마다 Universal Framework의 빌드 및 리포를 피하는 방법은 무엇입니까?

분류에서Dev

Android Studio 프로젝트의 Gradle 빌드에 라이브러리를 추가하는 방법은 무엇입니까?

분류에서Dev

헤더와 함께 다른 NDK 프로젝트에서 빌드 된 정적 라이브러리를 추가하는 방법은 무엇입니까?

분류에서Dev

정적 라이브러리 xcode 프로젝트를 포함하도록 번들 xcode 프로젝트를 만드는 방법은 무엇입니까?

분류에서Dev

Cmake : 실행 파일을로드 할 때 동적 링커가 동적 라이브러리를 찾는 방법은 무엇입니까?

분류에서Dev

dll 파일을 프로젝트에 참조한 후 프로젝트를 빌드 할 때 릴리스 디렉토리에없는 이유는 무엇입니까?

분류에서Dev

정적 라이브러리를 빌드 할 때 CMake가 어셈블리 파일을 무시하는 이유는 무엇입니까?

분류에서Dev

CMake FetchContent로 다운로드 한 외부 라이브러리를 빌드하는 방법은 무엇입니까?

분류에서Dev

Common Lisp 프로젝트를 빌드하는 방법은 무엇입니까?

분류에서Dev

Maven 빌드 프로젝트를 설치하는 방법은 무엇입니까?

분류에서Dev

CMake : CMakeLists.txt 내에서 여러 라이브러리를 빌드하는 방법은 무엇입니까?

분류에서Dev

homebrew로 디버그 기호로 라이브러리를 빌드하는 방법은 무엇입니까?

분류에서Dev

Android Studio + Gradle + NDK로 외부 C ++ 라이브러리를 빌드하는 방법은 무엇입니까?

분류에서Dev

새 라이브러리를 포함 할 때 QT 프로젝트의 * .pro 파일에 무엇을 추가해야하는지 아는 방법은 무엇입니까?

분류에서Dev

배포 할 때 새로 빌드 된 Docker 이미지를 시작하는 방법은 무엇입니까?

분류에서Dev

복제 된 GitHub 라이브러리를 빌드하고 설치하는 방법은 무엇입니까?

분류에서Dev

regsvr32에 등록 할 수있는 라이브러리를 만드는 방법은 무엇입니까?

분류에서Dev

프로젝트 용 대형 라이브러리를 빌드 할 때 모범 사례

분류에서Dev

Cpanel에 laravel 프로젝트를 배포 할 때 오류 404를 해결하는 방법은 무엇입니까?

분류에서Dev

PHP에서 Urdu 형태소 분석 라이브러리를 빌드하는 방법은 무엇입니까?

분류에서Dev

특정 Blender 빌드에 Python 라이브러리를 추가하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Emscripten으로 빌드 할 때 라이브러리 헤더를 포함하는 방법은 무엇입니까?

  2. 2

    ASP.NET 5 프로젝트를 빌드 할 때 경고를 억제하는 방법은 무엇입니까?

  3. 3

    소스에서 애플리케이션을 빌드 할 때 특정 라이브러리를 사용하는 방법은 무엇입니까?

  4. 4

    UnsatisfiedLinkError : Play 애플리케이션을 실행할 때 opencv의 네이티브 라이브러리를로드하는 방법은 무엇입니까?

  5. 5

    공유 라이브러리를 사용할 때 EAL 옵션을 사용하여 DPDK 드라이버를 지정하는 방법은 무엇입니까?

  6. 6

    .NET Core 및 .NET Framework 응용 프로그램에서 라이브러리 프로젝트를 사용할 때 라이브러리 프로젝트를 변환하는 가장 좋은 옵션은 무엇입니까?

  7. 7

    소스 코드에서 설치할 때 공유 라이브러리를 최신 버전으로 업그레이드하는 방법은 무엇입니까?

  8. 8

    프로젝트를 빌드 할 때마다 xcode 프로젝트를 정리해야하는 이유는 무엇입니까?

  9. 9

    프로젝트가 빌드 될 때마다 Universal Framework의 빌드 및 리포를 피하는 방법은 무엇입니까?

  10. 10

    Android Studio 프로젝트의 Gradle 빌드에 라이브러리를 추가하는 방법은 무엇입니까?

  11. 11

    헤더와 함께 다른 NDK 프로젝트에서 빌드 된 정적 라이브러리를 추가하는 방법은 무엇입니까?

  12. 12

    정적 라이브러리 xcode 프로젝트를 포함하도록 번들 xcode 프로젝트를 만드는 방법은 무엇입니까?

  13. 13

    Cmake : 실행 파일을로드 할 때 동적 링커가 동적 라이브러리를 찾는 방법은 무엇입니까?

  14. 14

    dll 파일을 프로젝트에 참조한 후 프로젝트를 빌드 할 때 릴리스 디렉토리에없는 이유는 무엇입니까?

  15. 15

    정적 라이브러리를 빌드 할 때 CMake가 어셈블리 파일을 무시하는 이유는 무엇입니까?

  16. 16

    CMake FetchContent로 다운로드 한 외부 라이브러리를 빌드하는 방법은 무엇입니까?

  17. 17

    Common Lisp 프로젝트를 빌드하는 방법은 무엇입니까?

  18. 18

    Maven 빌드 프로젝트를 설치하는 방법은 무엇입니까?

  19. 19

    CMake : CMakeLists.txt 내에서 여러 라이브러리를 빌드하는 방법은 무엇입니까?

  20. 20

    homebrew로 디버그 기호로 라이브러리를 빌드하는 방법은 무엇입니까?

  21. 21

    Android Studio + Gradle + NDK로 외부 C ++ 라이브러리를 빌드하는 방법은 무엇입니까?

  22. 22

    새 라이브러리를 포함 할 때 QT 프로젝트의 * .pro 파일에 무엇을 추가해야하는지 아는 방법은 무엇입니까?

  23. 23

    배포 할 때 새로 빌드 된 Docker 이미지를 시작하는 방법은 무엇입니까?

  24. 24

    복제 된 GitHub 라이브러리를 빌드하고 설치하는 방법은 무엇입니까?

  25. 25

    regsvr32에 등록 할 수있는 라이브러리를 만드는 방법은 무엇입니까?

  26. 26

    프로젝트 용 대형 라이브러리를 빌드 할 때 모범 사례

  27. 27

    Cpanel에 laravel 프로젝트를 배포 할 때 오류 404를 해결하는 방법은 무엇입니까?

  28. 28

    PHP에서 Urdu 형태소 분석 라이브러리를 빌드하는 방법은 무엇입니까?

  29. 29

    특정 Blender 빌드에 Python 라이브러리를 추가하는 방법은 무엇입니까?

뜨겁다태그

보관