首页 > 编程知识 正文

find library,ld library path

时间:2023-05-06 18:11:45 阅读:211022 作者:4672

例子

#在HINTS后的路径中找NvInfer.h, PATH_SUFFIXES:在每个搜索路径的子目录下搜索
find_path(TENSORRT_INCLUDE_DIR NvInfer.h
HINTS ${TENSORRT_ROOT} ${CUDA_TOOLKIT_ROOT_DIR}
PATH_SUFFIXES include)
find_library(TENSORRT_INFER libnvinfer.so
HINTS ${TENSORRT_ROOT} ${CUDA_TOOLKIT_ROOT_DIR}
PATH_SUFFIXES lib lib64 lib/x64)
find_library(TENSORRT_INFER_PLUGIN libnvinfer_plugin.so
HINTS ${TENSORRT_ROOT} ${CUDA_TOOLKIT_ROOT_DIR}
PATH_SUFFIXES lib lib64 lib/x64)

后面使用的时候:
target_link_libraries(trt ${TENSORRT_INFER} ${TENSORRT_INFER_PLUGIN})

也可以在同时找多个.h / .so文件
find_library(TENSORRT_INFER libnvinfer.so B.so C.so
HINTS ${TENSORRT_ROOT} ${CUDA_TOOLKIT_ROOT_DIR}
PATH_SUFFIXES lib lib64 lib/x64)

2. find_path 会用最后搜索到的结果
比如,我安装了两个eigen3,一个通过apt-get,安装在usr/include, 一个手动编译,在usr/local/include, 用find_path时返回usr/local/include路径

find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library PATHS include ${EIGEN_ADDITIONAL_SEARCH_PATHS} ${KDE4_INCLUDE_DIR} PATH_SUFFIXES eigen3 eigen )

这里的EIGEN3_INCLUDE_DIR=/usr/local/include

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。