kuento 學習-kms-pointerdetector 編譯-運行-調試

1、編譯

1、下載代碼
2、複製到kms-omni-build# 目錄下
3、修改kms-omni-build# vi CMakeLists.txt

../kms-omni-build# vi CMakeLists.txt

...

dd_subdirectory(kms-pointerdetector)

list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_BINARY_DIR}/kms-pointerdetector/src/server")

list(INSERT CMAKE_PREFIX_PATH 0 "${CMAKE_CURRENT_BINARY_DIR}/kms-pointerdetector")
list(INSERT CMAKE_PREFIX_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/kms-pointerdetector")
set(KMSFILTERS_BINARY_DIR_PREFIX "${CMAKE_CURRENT_BINARY_DIR}" CACHE PATH "Path prefix used to look for binary files" FORCE)
set(KMSFILTERS_SOURCE_DIR_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}" CACHE PATH "Path prefix used to look for source files" FORCE)

set(KURENTO_MODULES_DIR "${KURENTO_MODULES_DIR};${CMAKE_CURRENT_BINARY_DIR}/kms-pointerdetector/src/server/kmd" CACHE PATH "Directory where kurento modules descriptors can be found" FF
ORCE)

...

2、編譯錯誤及解決辦法

問題 1、

Make Error at kms-pointerdetector/tests/check/CMakeLists.txt:11 (target_link_libraries):
  Attempt to add link library "glib-2.0" to target "kmstestutils" which is
  not built in this directory.

解決辦法:不用編譯tests 模塊, 在CMakefile.txt中註釋掉

../kms-omni-build/kms-pointerdetector# vi CMakeLists.txt 
add_subdirectory(src)
#add_subdirectory(tests)

問題 2、

/home/sandra/kms/kms-omni-build/kms-pointerdetector/src/gst-plugins/pointerdetector/kmspointerdetector.c:163:3: error: ‘soup_session_sync_new’ is deprecated: Use 'soup_session_new' in]
   session = soup_session_sync_new ();

解決辦法: session = soup_session_sync_new (); 改爲 soup_session_new ();

  SoupSession *session;
  SoupMessage *msg;
  FILE *dst;

  session = soup_session_sync_new ();  
  msg = soup_message_new ("GET", url);
  soup_session_send_message (session, msg);

  dst = fopen (file_name, "w+");
  SoupSession *session;
  SoupMessage *msg;
  FILE *dst;

  session = soup_session_new ();//soup_session_sync_new ();  //wanli
  msg = soup_message_new ("GET", url);
  soup_session_send_message (session, msg);

  dst = fopen (file_name, "w+");

問題 4、

/home/sandra/kms/kms-omni-build/kms-pointerdetector/src/gst-plugins/pointerdetector/kmspointerdetector.c:890:9: error: implicit declaration of function ‘sqrt’ [-Werror=implicit-function-declaration]
         sqrt (((abs (pointerdetector->priv->finalPointerPosition.x - p[0]) -
         ^~~~

解決辦法:加#include<math.h>

問題 5、

/home/sandra/kms/kms-omni-build/kms-pointerdetector/src/gst-plugins/pointerdetector/kmspointerdetector.c:188:9: error: implicit declaration of function ‘cvLoadImage’; did you mean ‘cvShowImage’? [-]
   aux = cvLoadImage (uri, CV_LOAD_IMAGE_UNCHANGED);
         ^~~~~~~~~~~
         cvShowImage
make[2]: Circular kms-core/src/server/core.kmd.json <- kms-core/src/server/core.kmd.json dependency dropped.
/home/sandra/kms/kms-omni-build/kms-pointerdetector/src/gst-plugins/pointerdetector/kmspointerdetector.c:188:27: error: ‘CV_LOAD_IMAGE_UNCHANGED’ undeclared (first use in this function)
   aux = cvLoadImage (uri, CV_LOAD_IMAGE_UNCHANGED);

解決辦法:加頭文件#include<opencv2/imgcodecs/imgcodecs_c.h>

編譯通過,main: Kurento Media Server started

0:00:00.177768647 60803 0x55a9cbbb04c0 INFO    KurentoServerMethods ServerMethods.cpp:90:ServerMethods: Using above 80.00% of system limits will throw NOT_ENOUGH_RESOURCES exception
0:00:00.177787795 60803 0x55a9cbbb04c0 INFO    KurentoServerMethods ServerMethods.cpp:109:ServerMethods: System limits: 188862 threads, 1024 files
0:00:00.178427751 60803 0x55a9cbbb04c0 INFO    KurentoServerMethods ServerMethods.cpp:144:ServerMethods: RPC Request Cache is ENABLED
0:00:00.178596046 60803 0x55a9cbbb04c0 INFO    KurentoWebSocketTransport WebSocketTransport.cpp:152:WebSocketTransport: WebSocket server listening on address '::', port 8888
0:00:00.178607142 60803 0x55a9cbbb04c0 INFO    KurentoWebSocketTransport WebSocketTransport.cpp:249:WebSocketTransport: Secure websocket server not enabled
0:00:00.179009475 60803 0x55a9cbbb04c0 INFO      KurentoMediaServer main.cpp:259:main: Kurento Media Server started

但是,kurento-pointerdetector 運行不成功,查看控制檯信息插件沒有加載成功
./libpointerdetector.so cannot be loaded
tor/libpointerdetector.so cannot be loaded: /home/sandra/kms/kms-omni-build/build-Debug/kms-pointerdetector/src/gst-plugins/pointerdetector/libpointerdetector.so: undefined symbol: cvRound
在這裏插入圖片描述

0:00:00.158384422 60803 0x55a9cbbb04c0 INFO    KurentoModuleManager ModuleManager.cpp:137:loadModule: Loaded module: pointerdetector, version: 6.7.1~11.gc10dd93, date: Mar  3 2020 13:54:13
0:00:00.162656164 60803 0x55a9cbbb04c0 WARN    KurentoModuleManager ModuleManager.cpp:65:loadModule: Module /home/sandra/kms/kms-omni-build/build-Debug/kms-pointerdetector/src/gst-plugins/pointerdetector/libpointerdetector.so cannot be loaded: /home/sandra/kms/kms-omni-build/build-Debug/kms-pointerdetector/src/gst-plugins/pointerdetector/libpointerdetector.so: undefined symbol: cvRound
0:00:00.170224472 60803 0x55a9cbbb04c0 INFO    KurentoModuleManager ModuleManager.cpp:90:loadModule: Load file: /home/sandra/kms/kms-omni-build/build-Debug/kms-elements/src/server/libkmselementsmodule.so, module name: /home/sandra/kms/kms-omni-build/build-Debug/kms-elements/src/server/libkmselementsmodule.so
0:00:00.170266314 60803 0x55a9cbbb04c0 INFO    KurentoModuleManager ModuleManager.cpp:137:loadModule: Loaded module: elements, version: 6.13.1~3.g5ef161f, date: Mar  3 2020 13:54:13
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章