我试图在我的Kurento自定义模块中包含dlib库。
在我的模块的src/server
目录中,我已将以下内容添加到CMakeLists.txt
:
generate_code (
MODELS ${CMAKE_CURRENT_SOURCE_DIR}/interface
SERVER_STUB_DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/implementation/objects
MODULE_EXTRA_LIBRARIES /home/dave/dlib/dlib
)
在我的实施文件(src/server/implementation/objects/OpencvPluginSampleOpenCVImpl.cpp
)中,我引用了我需要的标题,如下所示:
#include </home/dave/dlib/dlib/dnn.h>
#include </home/dave/dlib/dlib/data_io.h>
#include </home/dave/dlib/dlib/image_processing.h>
我可以使用模块的构建目录中的cmake .. -DCMAKE_INSTALL_PREFIX=/usr && make && sudo make install
成功编译模块。
但是,当我启动Kurento媒体服务器时,日志显示以下内容:
Module /usr/lib/x86_64-linux-gnu/kurento/modules/libkmsopencvpluginsamplemodule.so cannot be loaded: /usr/lib/x86_64-linux-gnu/libkmsopencvpluginsampleimpl.so.0: undefined symbol: USER_ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives_
我在哪里错了?包含这样的图书馆的最佳方法是什么?