CMake没有找到自编译的库

时间:2017-05-02 08:19:08

标签: c++ c gcc makefile cmake

背景

我在一个单独的项目中编译共享C库,需要使用CMake链接它。

我使用了一个名为darknet的基于C的神经网络实现来训练自定义对象检测器。

实际上,darknet是一个独立的C可执行文件。但我需要将探测器集成到更大的C ++代码库中。 我已经找到了一个小wrapper。 现在我想将包装器代码转换为CMake项目,将darknet编译成共享库并链接到它。

  • 我已使用编译器标记-fPIC-shared将其编译为共享库。
  • 输出被称为darknet,我将其重命名为darknet.so并将其复制到/usr/lib/
  • sudo ldconfig

问题:

这是我的CMakeLists.txt。正如您所看到的,我将链接到暗网库。在编译时,出现错误,找不到库。

CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0)
project(wrapper)

add_definitions(-std=c++14)

find_package(OpenCV 3.2.0 EXACT REQUIRED)

include_directories(
        ${OpenCV_INCLUDE_DIRS}
        example
        wrapper
        darknet_src
)

SET(SOURCES
        example/main.cpp

        wrapper/darknet.cpp
        wrapper/darknet.h
        wrapper/darknet_detector.c
        wrapper/darknet_detector.h)

add_executable(wrapper ${SOURCES})
target_link_libraries(wrapper darknet ${OpenCV_LIBS})

0 个答案:

没有答案