使用VS2017+GStreamer配置时遇到的坑,LNK2019

做个笔记,日后有朋友遇到希望能快速搞定

搞定下面这个问题,只需要:

项目-> 属性->链接器->高级->入口点:填入:main

 

 

 

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    LNK2019    无法解析的外部符号 _seh_filter_exe,该符号在函数 "int `int __cdecl __scrt_common_main_seh(void)'::`1'::filt$0" (?filt$0@?0??__scrt_common_main_seh@@YAHXZ@4HA) 中被引用    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(exe_main.obj)    1    
错误    LNK2019    无法解析的外部符号 _set_app_type,该符号在函数 "int __cdecl pre_c_initialization(void)" (?pre_c_initialization@@YAHXZ) 中被引用    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(exe_main.obj)    1    
错误    LNK2019    无法解析的外部符号 __setusermatherr,该符号在函数 "int __cdecl pre_c_initialization(void)" (?pre_c_initialization@@YAHXZ) 中被引用    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(exe_main.obj)    1    
错误    LNK2019    无法解析的外部符号 _configure_narrow_argv,该符号在函数 "int __cdecl pre_c_initialization(void)" (?pre_c_initialization@@YAHXZ) 中被引用    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(exe_main.obj)    1    
错误    LNK2001    无法解析的外部符号 _configure_narrow_argv    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(utility.obj)    1    
错误    LNK2019    无法解析的外部符号 _initialize_narrow_environment,该符号在函数 "int __cdecl pre_c_initialization(void)" (?pre_c_initialization@@YAHXZ) 中被引用    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(exe_main.obj)    1    
错误    LNK2001    无法解析的外部符号 _initialize_narrow_environment    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(utility.obj)    1    
错误    LNK2019    无法解析的外部符号 _get_initial_narrow_environment,该符号在函数 "int __cdecl __scrt_common_main_seh(void)" (?__scrt_common_main_seh@@YAHXZ) 中被引用    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(exe_main.obj)    1    
错误    LNK2019    无法解析的外部符号 _initterm,该符号在函数 "int __cdecl __scrt_common_main_seh(void)" (?__scrt_common_main_seh@@YAHXZ) 中被引用    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(exe_main.obj)    1    
错误    LNK2019    无法解析的外部符号 _initterm_e,该符号在函数 "int __cdecl __scrt_common_main_seh(void)" (?__scrt_common_main_seh@@YAHXZ) 中被引用    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(exe_main.obj)    1    
错误    LNK2019    无法解析的外部符号 exit,该符号在函数 "int __cdecl __scrt_common_main_seh(void)" (?__scrt_common_main_seh@@YAHXZ) 中被引用    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(exe_main.obj)    1    
错误    LNK2019    无法解析的外部符号 _exit,该符号在函数 "int __cdecl __scrt_common_main_seh(void)" (?__scrt_common_main_seh@@YAHXZ) 中被引用    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(exe_main.obj)    1    
错误    LNK2019    无法解析的外部符号 _set_fmode,该符号在函数 "int __cdecl pre_c_initialization(void)" (?pre_c_initialization@@YAHXZ) 中被引用    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(exe_main.obj)    1    
错误    LNK2019    无法解析的外部符号 __p___argc,该符号在函数 "int __cdecl __scrt_common_main_seh(void)" (?__scrt_common_main_seh@@YAHXZ) 中被引用    basic-tutorial-3    D:\gstreamer\gst-docs-master\examples\tutorials\vs2010\basic-tutorial-3\msvcrt.lib(exe_main.obj)    1    
 

 

附上参考:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/50a63864-6633-4078-bfa8-0a3380da7c8f/msvcrtlibwcrtexewobj-error-lnk2019-unresolved-external-symbol-wwinmain-referenced-in-function?forum=vclanguage

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Opencv提供了支持Gstreamer的模块,可以使用Gstreamer在Opencv中进行视频流处理。使用Gstreamer需要安装Gstreamer以及相关插件,然后在编译Opencv加入相应的参数,具体方法如下: 1.安装Gstreamer及插件 在Linux系统中可以使用以下命令安装: ``` sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav ``` 2.编译安装Opencv 在编译Opencv加入Gstreamer支持,需要在cmake命令中加入以下参数: ``` -D WITH_GSTREAMER=ON -D BUILD_opencv_videoio=ON ``` 其中,`WITH_GSTREAMER`参数表示开启Gstreamer支持,`BUILD_opencv_videoio`参数表示编译Opencv的视频模块。完整的cmake命令如下: ``` cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_CUDA=OFF \ -D WITH_CUFFT=OFF \ -D WITH_GSTREAMER=ON \ -D BUILD_opencv_videoio=ON \ -D BUILD_opencv_imgcodecs=ON \ -D BUILD_opencv_highgui=ON \ -D BUILD_EXAMPLES=ON \ -D BUILD_TESTS=OFF \ -D BUILD_PERF_TESTS=OFF \ -D OPENCV_ENABLE_NONFREE=ON \ -D OPENCV_EXTRA_MODULES_PATH=/home/user/opencv_contrib-master/modules \ -D CUDA_ARCH_PTX="" \ -D CUDA_ARCH_BIN="" \ -D BUILD_SHARED_LIBS=ON \ -D WITH_FFMPEG=ON \ -D WITH_TBB=ON \ -D WITH_OPENMP=ON \ -D ENABLE_FAST_MATH=ON \ -D CUDA_FAST_MATH=OFF \ -D WITH_OPENCL=OFF \ -D WITH_IPP=ON \ -D WITH_MKL=ON \ -D WITH_V4L=ON \ -D WITH_XINE=ON \ -D ENABLE_PRECOMPILED_HEADERS=OFF \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D INSTALL_TESTS=OFF \ -D INSTALL_OPENCV=ON \ -D OPENCV_PYTHON3_INSTALL_PATH=/usr/local/lib/python3.7/dist-packages \ -D OPENCV_GENERATE_PKGCONFIG=ON \ ../opencv-master ``` 3.使用Opencv和Gstreamer处理视频流 使用Opencv和Gstreamer处理视频流的方法与常规的Opencv视频流处理基本一致,只需要指定使用Gstreamer的视频捕获设备即可。例如,以下代码使用Gstreamer捕获从摄像头中获取的视频流并显示在窗口中: ```python import cv2 cap = cv2.VideoCapture("v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480 ! videoconvert ! appsink", cv2.CAP_GSTREAMER) while True: ret, frame = cap.read() if not ret: break cv2.imshow("video", frame) if cv2.waitKey(10) == 27: break cap.release() cv2.destroyAllWindows() ``` 以上代码中,`v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480 ! videoconvert ! appsink`指定使用Gstreamer捕获视频流,并设置捕获的设备为`/dev/video0`,视频流的宽和高分别为`640`和`480`。`videoconvert`表示进行视频流格式转换,`appsink`表示将视频流发送给Opencv进行处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值