Windows에서 설치된 라이브러리의 위치를 업데이트하는 방법은 무엇입니까?

왕 보

이전에 "cmake ..", "make"및 "make install"로 zlib 라이브러리를 설치했습니다. CMakeLists.txt에서 "find_package (zlib)"함수를 호출하면 기본 설치 위치는 "C : \ Program Files (x86) \ zlib"입니다. CMakeLists.txt의 내용은 다음과 같이 작성됩니다.

cmake_minimum_required(VERSION 2.4.4)
project(zlib C)

find_package(ZLIB)
message(STATUS "Found")
message(STATUS "    ${ZLIB_INCLUDE_DIRS}")

이제 "cmake -G"MinGW Makefiles "-DCMAKE_INSTALL_PREFIX : PATH = D : / TEST_ZLIB / .."로이 라이브러리를 다시 설치하여 다음과 같은 결과를 얻습니다.

E:\Code\cpp\zlib-1.2.11\build>make install
[ 41%] Built target zlib
[ 46%] Built target minigzip64
[ 85%] Built target zlibstatic
[ 90%] Built target example
[ 95%] Built target minigzip
[100%] Built target example64
Install the project...
-- Install configuration: ""
-- Installing: D:/TEST_ZLIB/lib/libzlib.dll.a
-- Installing: D:/TEST_ZLIB/bin/libzlib.dll
-- Installing: D:/TEST_ZLIB/lib/libzlibstatic.a
-- Installing: D:/TEST_ZLIB/include/zconf.h
-- Installing: D:/TEST_ZLIB/include/zlib.h
-- Installing: D:/TEST_ZLIB/share/man/man3/zlib.3
-- Installing: D:/TEST_ZLIB/share/pkgconfig/zlib.pc

그러나 find_package (zlib) 함수는 여전히 이전 위치를보고합니다.

E:\Code\cpp\test_cmake\build>cmake ..
-- Found
--     C:/Program Files (x86)/zlib/include
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Code/cpp/test_cmake/build

이 라이브러리의 위치를 ​​어떻게 업데이트 할 수 있습니까? 어떤 도움이라도 깊이 감사하겠습니다.

Tsyvarev

find_package()호출 결과 캐시 되므로 두 번째 실행은 실제로 검색하지 않고 캐시 된 값을 사용합니다.

CMake 캐시는 CMakeCache.txt바이너리 디렉토리에있는 파일에 포함되어 있습니다. 따라서 강제 find_package로 다시 검색 할 수있는 세 가지 가능성이 있습니다 .

  1. 전체 바이너리 디렉토리를 제거 합니다 .

    다음 호출은 cmake"새로운"것입니다. 컴파일러, 필요한 모든 패키지 등을 검색합니다.

  2. CMakeCache.txt바이너리 디렉토리에서 파일을 제거 합니다.

    다음 호출은 cmake첫 번째 경우와 동일하게 "새로" 호출 됩니다.

  3. 에서 CMakeCache.txt 제거 라인을 , 패키지에 맞습니다.

    예를 들어, 강제 find_package(ZLIB)로 다시 검색하려면 "zlib"(대소 문자 구분 안 함) 하위 문자열이 포함 된 모든 항목을 제거 할 수 있습니다.

    다음 호출은 cmake컴파일러, 기타 패키지에 대해 캐시 된 설정을 사용하지만 ZLIB를 다시 검색합니다.

3d 변형에는 약간 더 많은 작업이 필요하지만 cmake호출 속도가 빨라 집니다.

1 차 및 2 차 변형은 수행하기 쉽고 그 효과는 거의 동일합니다. 둘 다 "느린" cmake호출이 발생하므로 모든 검사를 다시 수행해야합니다. 그러나 일관성이없는 경우 캐시 된 설정을 그대로 두지 않을 것입니다.

문제를 해결할 때 항상 1 차 또는 2 차 변형을 선택하십시오!

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

npm을 통해 설치된 라이브러리에서 CSS를 참조하는 방법은 무엇입니까?

분류에서Dev

설치된 라이브러리에 대한 문서를 보는 방법은 무엇입니까?

분류에서Dev

설치된 라이브러리에 대한 문서를 보는 방법은 무엇입니까?

분류에서Dev

라이브러리가 설치된 위치를 찾는 방법은 무엇입니까?

분류에서Dev

설치된 업데이트를 확인하는 방법은 무엇입니까?

분류에서Dev

32 비트 시스템에 64 비트 라이브러리를 설치하는 방법은 무엇입니까?

분류에서Dev

Windows가 이미 설치된 SSD에 새 Windows 설치를 설치하는 기본 방법은 무엇입니까?

분류에서Dev

Ionic의 버전 확인-기존에 설치된 앱을 업데이트하는 방법은 무엇입니까?

분류에서Dev

Windows 8.1에 dxflib [a C ++ 라이브러리]를 설치하는 방법은 무엇입니까?

분류에서Dev

런타임에 nix에서 설치 한 라이브러리를 사용하는 방법은 무엇입니까?

분류에서Dev

다음에 변경된 데이터 행의 위치를 재설정하는 방법은 무엇입니까?

분류에서Dev

Azure Databricks 클러스터에 gurobi 라이브러리를 설치하는 방법은 무엇입니까?

분류에서Dev

pjax 라이브러리에서 터치 이벤트를 활성화하는 방법은 무엇입니까?

분류에서Dev

웹 사이트에서 라이브러리를 업데이트하는 방법은 무엇입니까?

분류에서Dev

파이썬 3에 pyhdf 라이브러리를 설치하는 방법은 무엇입니까?

분류에서Dev

분리 된 플래시 드라이브에 우분투를 설치하는 방법은 무엇입니까?

분류에서Dev

분리 된 플래시 드라이브에 우분투를 설치하는 방법은 무엇입니까?

분류에서Dev

Eclipse 또는 Netbeans에 Selenium selenium-java-3.141.59 라이브러리를 설치하는 방법은 무엇입니까?

분류에서Dev

노트북의 일부 명령을 사용하여 Databricks 클러스터에 라이브러리를 설치하는 방법은 무엇입니까?

분류에서Dev

Windows에서 64 비트 Python 3 용 64 비트 VLC 라이브러리를 설치하는 방법은 무엇입니까?

분류에서Dev

새로 포맷 된 하드 드라이브에 Windows를 설치하는 방법은 무엇입니까?

분류에서Dev

업데이트 된 데이터를 특정 요소에 배치하는 방법은 무엇입니까?

분류에서Dev

Ubuntu 14.04에 모든 SDL 라이브러리를 설치하는 방법은 무엇입니까?

분류에서Dev

VS2012에 C ++ 라이브러리를 설치하는 방법은 무엇입니까?

분류에서Dev

Yii2에 Stripe 라이브러리를 설치하는 방법은 무엇입니까?

분류에서Dev

우분투 18.04 LTS에 g3log 라이브러리를 설치하는 방법은 무엇입니까?

분류에서Dev

Android가 앱에 대기중인 여러 업데이트를 설치하는 방법은 무엇입니까?

분류에서Dev

설치된 라이브러리의 위치를 찾는 방법

분류에서Dev

설치된 라이브러리의 위치를 찾는 방법

Related 관련 기사

  1. 1

    npm을 통해 설치된 라이브러리에서 CSS를 참조하는 방법은 무엇입니까?

  2. 2

    설치된 라이브러리에 대한 문서를 보는 방법은 무엇입니까?

  3. 3

    설치된 라이브러리에 대한 문서를 보는 방법은 무엇입니까?

  4. 4

    라이브러리가 설치된 위치를 찾는 방법은 무엇입니까?

  5. 5

    설치된 업데이트를 확인하는 방법은 무엇입니까?

  6. 6

    32 비트 시스템에 64 비트 라이브러리를 설치하는 방법은 무엇입니까?

  7. 7

    Windows가 이미 설치된 SSD에 새 Windows 설치를 설치하는 기본 방법은 무엇입니까?

  8. 8

    Ionic의 버전 확인-기존에 설치된 앱을 업데이트하는 방법은 무엇입니까?

  9. 9

    Windows 8.1에 dxflib [a C ++ 라이브러리]를 설치하는 방법은 무엇입니까?

  10. 10

    런타임에 nix에서 설치 한 라이브러리를 사용하는 방법은 무엇입니까?

  11. 11

    다음에 변경된 데이터 행의 위치를 재설정하는 방법은 무엇입니까?

  12. 12

    Azure Databricks 클러스터에 gurobi 라이브러리를 설치하는 방법은 무엇입니까?

  13. 13

    pjax 라이브러리에서 터치 이벤트를 활성화하는 방법은 무엇입니까?

  14. 14

    웹 사이트에서 라이브러리를 업데이트하는 방법은 무엇입니까?

  15. 15

    파이썬 3에 pyhdf 라이브러리를 설치하는 방법은 무엇입니까?

  16. 16

    분리 된 플래시 드라이브에 우분투를 설치하는 방법은 무엇입니까?

  17. 17

    분리 된 플래시 드라이브에 우분투를 설치하는 방법은 무엇입니까?

  18. 18

    Eclipse 또는 Netbeans에 Selenium selenium-java-3.141.59 라이브러리를 설치하는 방법은 무엇입니까?

  19. 19

    노트북의 일부 명령을 사용하여 Databricks 클러스터에 라이브러리를 설치하는 방법은 무엇입니까?

  20. 20

    Windows에서 64 비트 Python 3 용 64 비트 VLC 라이브러리를 설치하는 방법은 무엇입니까?

  21. 21

    새로 포맷 된 하드 드라이브에 Windows를 설치하는 방법은 무엇입니까?

  22. 22

    업데이트 된 데이터를 특정 요소에 배치하는 방법은 무엇입니까?

  23. 23

    Ubuntu 14.04에 모든 SDL 라이브러리를 설치하는 방법은 무엇입니까?

  24. 24

    VS2012에 C ++ 라이브러리를 설치하는 방법은 무엇입니까?

  25. 25

    Yii2에 Stripe 라이브러리를 설치하는 방법은 무엇입니까?

  26. 26

    우분투 18.04 LTS에 g3log 라이브러리를 설치하는 방법은 무엇입니까?

  27. 27

    Android가 앱에 대기중인 여러 업데이트를 설치하는 방법은 무엇입니까?

  28. 28

    설치된 라이브러리의 위치를 찾는 방법

  29. 29

    설치된 라이브러리의 위치를 찾는 방법

뜨겁다태그

보관