今天重新编译了一下Windows的opencv-python的cuda加速

在生成INSTALL的时候报错

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    C2059    语法错误:“)”    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    324    
警告    C4819    该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    1    
错误    C2059    语法错误:“for”    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    324    
错误    C2143    语法错误: 缺少“)”(在“;”的前面)    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    324    
错误    C2065    “i”: 未声明的标识符    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    324    
错误    C2065    “i”: 未声明的标识符    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    324    
错误    C2275    “std::string”: 将此类型用作表达式非法    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    326    
错误    C2146    语法错误: 缺少“)”(在标识符“input_info”的前面)    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    326    
错误    C2065    “input_info”: 未声明的标识符    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    328    
错误    C2065    “input_info”: 未声明的标识符    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    350    
错误    C2737    “gtest_ar”: 必须初始化 const 对象    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    350    
错误    C2059    语法错误:“}”    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    435    
错误    C2143    语法错误: 缺少“;”(在“}”的前面)    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    435    

vs2022重新编译opencv-python cuda加速时报错的问题解决

仔细看却是报了个寂寞,当然最重要的是

严重性    代码    说明    项目    文件    行    禁止显示状态
警告    C4819    该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失    opencv_test_objdetect    D:\opencv\opencv\source\opencv-4.x\modules\objdetect\test\test_qrcode_encode.cpp    1    

由此可见,是文件编码的问题,而且这个文件里面还有日文

所以更改文件编码格式保存

VS2022的更改文件编码的功能是隐藏的

首先在工具一栏找到自定义

vs2022重新编译opencv-python cuda加速时报错的问题解决

在自定义里选择命令

vs2022重新编译opencv-python cuda加速时报错的问题解决

将菜单栏改为文件

vs2022重新编译opencv-python cuda加速时报错的问题解决

点击添加命令

vs2022重新编译opencv-python cuda加速时报错的问题解决

在类别找到文件,在右边命令一栏找到“高级保存选项”

vs2022重新编译opencv-python cuda加速时报错的问题解决

点确定,返回后选中“高级保存选项”,使用上移或下移,移动到合适的位置后,关闭

vs2022重新编译opencv-python cuda加速时报错的问题解决

在文件中就能看到高级保存选项了

vs2022重新编译opencv-python cuda加速时报错的问题解决

打开后,将文字编码改为936的简体中文

vs2022重新编译opencv-python cuda加速时报错的问题解决

完成后保存重新编译生成问题就解决啦。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。