Библиотека Hiredis не загружена / изображение не найдено

Я работаю над проектом 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

Дополнительная информация:

  • Компилятор: Clang
  • os: macOS 10.12.3
  • cmake версия 3.7.2

2 ответа

Я исправил свою проблему, я пошел в каталог hiredis и набрал:

make

но не последовал за этим

make install

Поэтому файл, который искал мой код, не был в моем /usr/local/lib

Выглядит как твой DYLD_LIBRARY_PATH не установлен правильно. Вы можете получить больше информации, установив DYLD_PRINT_LIBRARIES и / или некоторые другие переменные среды, упомянутые здесь

Но, вероятно, вам просто нужно добавить каталог hiredis в CMAKE_LIBRARY_PATH как это:set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${PROJECT_SOURCE_DIR}/lib/hiredis)

Другие вопросы по тегам