【发布时间】:2016-06-06 09:46:35
【问题描述】:
我正在尝试构建一个链接到共享库(名为“caffe”)的可执行文件。共享库依赖于另一个共享库(名为“cblas”)。当我尝试在我的 CMake 文件中链接到 caffe 时,它显示以下错误:
libcblas.so.3,libcaffe.so 需要,未找到(尝试使用 -rpath 或 -rpath-link)
我在我的 CMakeLists.txt 中使用以下语句:
link_directories(${BINARIES}/lib)
add_library(CAFFE_LIBRARY SHARED IMPORTED)
set_target_properties(CAFFE_LIBRARY PROPERTIES IMPORTED_LOCATION ${BINARIES}/lib/libcaffe.so)
target_link_libraries(${PROJECT_NAME} CAFFE_LIBRARY)
“cblas”和“caffe”库都存在于${BINARIES}/lib 文件夹中。
我还需要将 cblas.so 添加到 target_link_libraries 吗?另外,我没有构建 caffe.so,所以通过 CMake 构建它并将其作为依赖项不是一种选择
对于链接时需要解析共享库的依赖树的相同问题,还有其他可行的解决方案吗?
【问题讨论】: