У меня есть 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
, и я запутаюсь, когда мои проекты станут более сложными.