CMake --- find_library (... NO_DEFAULT_PATH) не работает? - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть CMake, который успешно работает, если я явно обозначаю библиотеку:

set(GLFW_LIB ~/.mujoco/mujoco200/bin/libglfw.so.3)

, но не, если я пытаюсь найти библиотеку

find_library(GLFW_LIB glfw PATH ~/.mujoco/mujoco200/bin NO_DEFAULT_PATH)
CMake Warning at CMakeLists.txt:17 (add_executable):
  Cannot generate a safe runtime search path for target basic because files
  in some directories may conflict with libraries in implicit directories:

    runtime library [libglfw.so.3] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
      /home/xxxxxxx/.mujoco/mujoco200/bin

  Some of these libraries may not be found correctly.

Это действительно не находит правильную библиотеку.

message(${GLFW_LIB})
/usr/lib/x86_64-linux-gnu/libglfw.so.3

Я испробовал много, много вариантов (есть гораздо больше комбинаций, чем я могу посильно попытаться исчерпать их все)):

find_library(GLFW_LIB libglfw.so.3 PATH ~/.mujoco/mujoco200/bin NO_DEFAULT_PATH)

find_library(GLFW_LIB glfw HINT ~/.mujoco/mujoco200/bin NO_DEFAULT_PATH)

find_library(GLFW_LIB glfw NO_DEFAULT_PATH PATH ~/.mujoco/mujoco200/bin)

find_library(GLFW_LIB glfw PATH /home/xxxxxxx/.mujoco/mujoco200/bin NO_DEFAULT_PATH)

find_library(GLFW_LIB glfw PATH ~/.mujoco/mujoco200/bin NO_DEFAULT_PATH 
      NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH
      NO_CMAKE_ENVIRONMENT_PATH  NO_SYSTEM_ENVIRONMENT_PATH
      NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH)

и т. Д., Все сбои с точно таким же предупреждением и неправильно найденной библиотекой.

Это не блокирует мой маленький проект, потому что я могу просто назвать библиотеку, но боюсьчто я совсем не понимаю find_library, и я запутаюсь, когда мои проекты станут более сложными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...