Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CMake不';我找不到自编库_C++_C_Gcc_Makefile_Cmake - Fatal编程技术网

C++ CMake不';我找不到自编库

C++ CMake不';我找不到自编库,c++,c,gcc,makefile,cmake,C++,C,Gcc,Makefile,Cmake,背景: 我正在另一个项目中编译一个共享C库,需要与CMake链接。 我使用了一个基于C的神经网络实现来训练一个定制的对象检测器 实际上,darknet是一个独立的C可执行文件。但是我需要把检测器集成到一个更大的C++代码库中。 我已经找到一个小的。 现在,我想将包装器代码转换成一个CMake项目,将darknet编译成一个共享库并与之链接 我已经使用编译器标志-fPIC和-shared将其编译到一个共享库中 输出名为darknet,我将其重命名为darknet.so,并将其复制到/usr/li

背景:

我正在另一个项目中编译一个共享C库,需要与CMake链接。

我使用了一个基于C的神经网络实现来训练一个定制的对象检测器

实际上,darknet是一个独立的C可执行文件。但是我需要把检测器集成到一个更大的C++代码库中。 我已经找到一个小的。 现在,我想将包装器代码转换成一个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})

darknet,so
libdarknet.so
?darknet.so是一个错误的名称。让它成为libdarknet.so.真正的问题-CMake找不到库,对吗?如果是这样,你的
CMakeLists.txt
是帖子中最有价值的信息,应该在问题帖子中,而不是链接。此外,请确保已搜索实际问题的描述。例如,您可能会发现有用。@MSalters,您是对的。这确实是问题所在。我仍然有编译问题,但这可能是另一个问题。@Tsyvarev,当我问这个问题时,我不知道实际的问题。我想我会把问题完全更新为“CMake没有找到库”,并删除其他细节
darknet,so
libdarknet.so
?darknet.so是一个错误的名称。让它成为libdarknet.so.真正的问题-CMake找不到库,对吗?如果是这样,你的
CMakeLists.txt
是帖子中最有价值的信息,应该在问题帖子中,而不是链接。此外,请确保已搜索实际问题的描述。例如,您可能会发现有用。@MSalters,您是对的。这确实是问题所在。我仍然有编译问题,但这可能是另一个问题。@Tsyvarev,当我问这个问题时,我不知道实际的问题。我想我会完全更新这个问题,改为“CMake没有找到库”,并删除其他细节