嗯嗯,怎么起头呢,总之就是“你懂的”网络环境...官方原生仓库慢的一批,只能用国内镜像仓库,比如:清华、中科大、阿里......
但是,但是,但是又来了,出现个这个错误88%跟代理设置有关,下面贴出配置文件位置,以及修改示例

%USERPROFILE%\AppData\Roaming\pip\pip.ini

[global]
proxy = http://127.0.0.1:7890
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

补充:pip.ini 一共有三处位置
Linux: /etc/pip.conf $HOME/.config/pip/pip.conf $VIRTUAL_ENV/pip.conf
($HOME/.pip/pip.conf依然有效,但是不推荐再使用)

Windows: C:\ProgramData\pip\pip.ini %APPDATA%\pip\pip.ini %VIRTUAL_ENV%\pip.ini

都什么年代了,编译环境还在推荐使用 Ubuntu 16.04 !!! 是的,你没看错,居然还是古董 16.04
整个环境就你抄我,我抄你,大家错都错一样的。厂商的也特么的各种作死,新玩意儿只给代理商。代理商技术实力参差不齐......
我这种垃圾开发者被这帮人坑惨了。

VC6的年代已经过去很久了,学校毕业出道就开始撸MFC...从MFC还算是由一些情感记忆的,毕竟是以前吃饭的家伙。
N年后,重新拾起VC。好家伙,一看版本居然都VS2019了(还有更高的版本,只是我不想当小白鼠)。果断社区版装上,嗯嗯,还是熟悉的问道,代码智能提示依旧还是那么的垃圾,这很微软。
当初的MFC只是单纯的多字节编码,管丫的什么,统统GBK。
如今的MFC默认给你开启UNICODE,默认给你开启优化。这里就产生了两个大坑:
1、坑一,默认Unicode
Unicode.png
第一次编译出来跑一跑,第一眼看上去:“哎呀握艹,MFC居然变漂亮了,不是以前那样子了”。换了层皮之后,就掉进Unicode的大坑了
CString msg;
msg.format ...我靠,为毛线有错误?以前都是这样 format 的啊,靠着VisualStudio“弓虽大白勺智能提示”,原来改名成Format了.....wo艹,怎么还有错误,再次靠着弓虽大的提示功能,原来是要 _T() ...老人不会玩新版本的MFC了。
因为功能需要,创建了一个Pipe,从控制台捕获输出
createPipe.png
我尼玛,从这里开始爬坑。解释一下为什么有坑:
a).中文环境,win7以前,默认GBK。从win10开始,这货居然Unicode了
b).还是gbk问题,MFC认为控制台输出的时gbk,所以在win11下,并启用了Unicode的情况下,他会自作聪明的把控制台pipe输出的内容悄咪咪的来了个转码,gbk->utf8
所以,最开始的时候,我把从pipe抓到的内容,来个utf8 -> gbk 之后变成了火星文。不转也是火星文。What the f**k?百思不得其解。最后是在一次偶然中,pipe返回值只有一个汉字+一个字母,长度居然为6 ......突然醒悟。
把编码手工还原一下 utf8 -> gbk ,我滴个乖乖,这样才对。

2、坑二,代码优化
我特么的各种断点调试呢,变量窗口各种给我“变量已优化”...好烦。关掉关掉,不然没法调试。
Optimize.png

记录一下。新版本,新玩法,老人out了。
version.png

国内两大摄像头厂商“大华”、“海康威视”,旗下摄像头均支持ONVIF,但是两个厂家对ONVIF的理解有一定的相差。最近在做机器人视觉的时候,选型的过程中才有了4款摄像头(大华、海康各两款)。
记录一下开发过程中遇到的坑:
两家都支持SOAP的WS-Username Token和Digest鉴权,但是...(坑来了),大华在进行WS-Username Token鉴权时,会严格检查created域,当客户端与IPC的时间跨度相差比较大时,大华这边直接“401 Unauthorized”。相比之下海康可以顺利通过。这里就形成了一个隐形的死循环问题:由于摄像头刚刚初始化并上电,时间是错误,那么在进行下一步操作前,得先同步时间...问题就在这里,时间不对,要同步时间 => 要同步时间,就得访问设置时间的SOAP接口 => 要调用SOAP,就要鉴权 => 时间不对,鉴权失败......

MMP,折腾了1个星期,10+天没更新,上周末突然发现校时的SOAP接口Digest方式鉴权时可以通过的。于是只好曲线救G。
用 Digest 鉴权同步时间,其他接口继续使用 WS-Username Token