我正在开发一个使用cmake的c++项目,该项目使用了hiredis。CMake和编译过程不会出现任何错误。但是,当我尝试执行我的项目时(从终端或使用CLion的IDE ),我会得到以下错误:
dyld:库未加载: libhiredis.0.13.dylib 引用: /Users/connorriley/CLionProjects/DispatchingOptimization/bin/dispatch原因:找不到图像
我不知道为什么我的项目要寻找libhiredis.0.13.dylib,因为我拥有的唯一的人工库文件是libhiredis.dylib.
我的项目文件结构如下:
.
+-- bin
| +-- dispatch (my executable)
+-- lib
| +-- hiredis
| | +-- libhiredis.dylib
| +-- otherlibs
+-- src
| +-- source code/subfolders with source code更多信息:
发布于 2017-02-25 18:13:26
看起来您的DYLD_LIBRARY_PATH设置不正确。您可以通过设置DYLD_PRINT_LIBRARIES和/或其他一些提到的这里环境变量来获得更多信息。
但是您可能只需要将您的雇用目录添加到CMAKE_LIBRARY_PATH中,如下所示:set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${PROJECT_SOURCE_DIR}/lib/hiredis)
发布于 2017-02-25 18:21:31
我修正了我的问题,我进入我的雇用目录并输入:
make但并没有跟著
make install因此,我的代码所查找的文件不在我的/usr/local/lib中
https://stackoverflow.com/questions/42459513
复制相似问题