0

我正在使用使用hiredis的cmake开发一个c++项目。CMake 和编译过程没有给出任何错误。但是,当我尝试执行我的项目时(从终端或我正在使用 [CLion] 的 IDE,我收到以下错误:

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
  • 操作系统:macOS 10.12.3
  • cmake 版本 3.7.2
4

2 回答 2

0

我解决了我的问题,我进入了我的hiredis目录并输入了:

make

但没有遵循

make install

因此,我的代码正在寻找的文件不在我的 /usr/local/lib 中

于 2017-02-25T18:21:31.700 回答
0

看起来你DYLD_LIBRARY_PATH的设置不正确。您可以通过设置和/或此处DYLD_PRINT_LIBRARIES提到的其他一些环境变量来获取更多信息

但可能你只需要CMAKE_LIBRARY_PATH像这样添加你的hiredis目录: set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${PROJECT_SOURCE_DIR}/lib/hiredis)

于 2017-02-25T18:13:26.627 回答