瀏覽代碼

Merge branch 'master' of http://116.63.46.168:3000/ADPilot/modularization

liyupeng 1 年之前
父節點
當前提交
3ed4e5b30c
共有 2 個文件被更改,包括 84 次插入2 次删除
  1. 82 0
      src/driver/driver_camera_ioctl/CMakeLists.txt
  2. 2 2
      src/driver/driver_camera_ioctl/usb_cam_python.cpp

+ 82 - 0
src/driver/driver_camera_ioctl/CMakeLists.txt

@@ -0,0 +1,82 @@
+cmake_minimum_required(VERSION 2.8.12)
+project(usb_cam_python)
+
+# 设置编译目标类型是release版还是debug版本
+set(CMAKE_BUILD_TYPE "Release")
+
+# 设置C++版本
+set(CMAKE_CXX_STANDARD 11)
+
+# 编译参数指定,如生成位置无关的动态库
+set(CMAKE_CXX_FLAGS "-fPIC")
+
+
+unset(postproc_var CACHE)
+find_library(postproc_var NAMES postproc) 
+#message("var: ${postproc_var}") 
+if(postproc_var STREQUAL "postproc_var-NOTFOUND")
+	message(FATAL_ERROR "not found postproc.  Please sudo apt-get install libpostproc-dev")
+endif()
+
+
+
+unset(swresample_var CACHE)
+find_library(swresample_var NAMES swresample) 
+if(swresample_var STREQUAL "swresample_var-NOTFOUND")
+	message(FATAL_ERROR "not found swresample. Please sudo apt-get install libswresample-dev")
+endif()
+
+unset(swscale_var CACHE)
+find_library(swscale_var NAMES swscale) 
+if(swscale_var STREQUAL "swscale_var-NOTFOUND")
+	message(FATAL_ERROR "not found swscale. Please sudo apt-get install libswscale-dev")
+endif()
+
+unset(avfilter_var CACHE)
+find_library(avfilter_var NAMES avfilter) 
+if(avfilter_var STREQUAL "avfilter_var-NOTFOUND")
+	message(FATAL_ERROR "not found avfilter. Please sudo apt-get install libavfilter-dev")
+endif()
+
+unset(avutil_var CACHE)
+find_library(avutil_var NAMES avutil) 
+if(avutil_var STREQUAL "avutil_var-NOTFOUND")
+	message(FATAL_ERROR "not found avutil. Please sudo apt-get install libavutil-dev")
+endif()
+
+unset(avdevice_var CACHE)
+find_library(avdevice_var NAMES avdevice) 
+if(avdevice_var STREQUAL "avdevice_var-NOTFOUND")
+	message(FATAL_ERROR "not found avdevice. Please sudo apt-get install libavdevice-dev")
+endif()
+
+
+# 为当前目录及以下目录中的可执行文件、共享库或模块库目标的链接步骤添加选项,如链接phread库
+add_link_options(-pthread)
+
+
+# 等价于gcc -I 
+include_directories(
+			${PROJECT_SOURCE_DIR} 
+			)
+
+#add_subdirectory(${PROJECT_SOURCE_DIR}/src/base)
+
+# 将main.cc  test.cc存到变量SRC_FILE内
+set(SRC_FILE ${PROJECT_SOURCE_DIR}/usb_cam.cpp 
+             ${PROJECT_SOURCE_DIR}/usb_cam_python.cpp)
+
+# 自动扫描当前路径下的所有源文件存到变量SRC_FILE内
+#aux_source_directory(. SRC_FILE)
+
+# 生成目标库文件,SHARED代表动态的,STATIC代表静态的
+add_library(${PROJECT_NAME} SHARED ${SRC_FILE})
+
+# 链接api.so,注意路径要写全
+#target_link_libraries(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/lib/api.so)
+
+target_link_libraries(${PROJECT_NAME} postproc swresample swscale avfilter avdevice avformat avcodec avutil m dl)
+
+
+
+

+ 2 - 2
src/driver/driver_camera_ioctl/usb_cam_python.cpp

@@ -234,7 +234,7 @@ int GetJPEGDataWithWait(char * strvideoname, char * str,int * x,int nwaitms)
 {
     std::string strvideo = strvideoname;
 
-    int nsize;
+    int nsize = gvectorthreadcam.size();
     int i;
     iv::threadcam * pthreadcam = NULL;
     for(i=0;i<nsize;i++)
@@ -302,7 +302,7 @@ int StopCam(char * strvideoname)
 {
     std::string strvideo = strvideoname;
 
-    int nsize;
+    int nsize =gvectorthreadcam.size();
     int i;
     iv::threadcam * pthreadcam = NULL;
     int index;