Я работаю над проектом c ++, используя cmake, который использует hiredis. CMake и процесс компиляции не дают никаких ошибок. Однако, когда я пытаюсь выполнить свой проект (из терминала или из IDE, которую я использую [CLion]), я получаю следующую ошибку:
dyld: библиотека не загружена: libhiredis.0.13.dylib
Ссылка на: / Users / connorriley / CLionProjects / DispatchingOptimization / bin / dispatch
Причина: изображение не найдено
Я не уверен, почему мой проект ищет libhiredis.0.13.dylib
потому что единственный файл библиотеки hiredis у меня есть libhiredis.dylib.
Моя файловая структура проекта выглядит следующим образом:
.
+-- bin
| +-- dispatch (my executable)
+-- lib
| +-- hiredis
| | +-- libhiredis.dylib
| +-- otherlibs
+-- src
| +-- source code/subfolders with source code
Дополнительная информация:
Выглядит как твой DYLD_LIBRARY_PATH
не установлен правильно. Вы можете получить больше информации, установив DYLD_PRINT_LIBRARIES
и / или некоторые другие упомянутые переменные среды Вот
Но, вероятно, вам просто нужно добавить каталог hiredis в CMAKE_LIBRARY_PATH
как это:
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${PROJECT_SOURCE_DIR}/lib/hiredis)
Я исправил свою проблему, я пошел в каталог hiredis и набрал:
make
но не последовал за этим
make install
Поэтому файл, который искал мой код, не был в моем / usr / local / lib