请教一个关于QT(c++)调用Basler相机时出现的问题

壹抹尘埃 2019-10-19 02:45:39
由于之前电脑出现了问题,重装了QT和VS。重装之后,之前可以运行的项目在编译时出现了如下问题。


>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2039: “convertibleEdgeHandlingEnums”: 不是“Basler_ImageFormatConverterParams”的成员 (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\_ImageFormatConverterParams.h(32): message : 参见“Basler_ImageFormatConverterParams”的声明 (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2065: “convertibleEdgeHandlingEnums”: 未声明的标识符 (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2062: 意外的类型“unknown-type” (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2039: “=”: 不是“`global namespace'”的成员 (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2143: 语法错误: 缺少“;”(在“{”的前面) (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2447: “{”: 缺少函数标题(是否是老式的形式表?) (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2059: 语法错误:“,” (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2039: “convertibleEdgeHandlingEnums”: 不是“Basler_ImageFormatConverterParams”的成员 (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\_ImageFormatConverterParams.h(32): message : 参见“Basler_ImageFormatConverterParams”的声明 (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2065: “convertibleEdgeHandlingEnums”: 未声明的标识符 (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2062: 意外的类型“unknown-type” (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2039: “=”: 不是“`global namespace'”的成员 (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2143: 语法错误: 缺少“;”(在“{”的前面) (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2447: “{”: 缺少函数标题(是否是老式的形式表?) (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2059: 语法错误:“,” (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2039: “convertibleEdgeHandlingEnums”: 不是“Basler_ImageFormatConverterParams”的成员 (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\_ImageFormatConverterParams.h(32): message : 参见“Basler_ImageFormatConverterParams”的声明 (编译源文件 sbaslercameracontrol.cpp)
1>D:\vs opencv\tool2\include\pylon\EnumParameterT.h(156): error C2065: “convertibleEdgeHandlingEnums”: 未声明的标识符 (编译源文件 sbaslercameracontrol.cpp)

------------------------------------------------------------------------------------------------------------------------------------
貌似报错的都是在,Basler驱动中的EnumParameterT.h 的第156行。
// Implements IEnumParameterT<EnumT>
virtual CEnumParameterT<EnumT>& operator=(EnumT value)
{
SetValue(value);
return *this;
}


各位大佬们帮忙看一下问题是出在哪里?Basler驱动重新安装后也没有用,使用的是VS2019,QT 5.1.3 MSVC2017-64编译器。
...全文
666 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
壹抹尘埃 2020-04-09
  • 打赏
  • 举报
回复
引用 9 楼 矮油油 的回复:
引用 8 楼 壹抹尘埃 的回复:
[quote=引用 7 楼 矮油油 的回复:][quote=引用 6 楼 壹抹尘埃 的回复:] [quote=引用 5 楼 莫负好春光 的回复:]我也遇到这样的问题了,我的电脑上也是安装了海康的MSV,每次报错都是第156行的;搞了一天,绕不掉,崩溃了,楼主怎么解决的
驱动库的问题,把库换了。
请问大佬,您指的“换”是怎么换,换低版本的吗?[/quote]对,应该是basler库和QT版本不兼容的问题。[/quote] 我之前用Qt5.9.2编译的,可以使用,昨天用高版本5.14.1的qt编译过,然后也可以用。今天一来,低版本的5.9.2编译报错,也是156行,无奈我只能用5.14.1了,高版本的还是可以使用。pylon库从头到尾没有换过。 我想这也是一种解决方法把.....[/quote]对,原理上应该是换qt或者是换驱动库。我当时也是多试了几次,就弄好了。
矮油油 2020-04-09
  • 打赏
  • 举报
回复
引用 8 楼 壹抹尘埃 的回复:
引用 7 楼 矮油油 的回复:
[quote=引用 6 楼 壹抹尘埃 的回复:] [quote=引用 5 楼 莫负好春光 的回复:]我也遇到这样的问题了,我的电脑上也是安装了海康的MSV,每次报错都是第156行的;搞了一天,绕不掉,崩溃了,楼主怎么解决的
驱动库的问题,把库换了。
请问大佬,您指的“换”是怎么换,换低版本的吗?[/quote]对,应该是basler库和QT版本不兼容的问题。[/quote] 我之前用Qt5.9.2编译的,可以使用,昨天用高版本5.14.1的qt编译过,然后也可以用。今天一来,低版本的5.9.2编译报错,也是156行,无奈我只能用5.14.1了,高版本的还是可以使用。pylon库从头到尾没有换过。 我想这也是一种解决方法把.....
LTM嘎嘎嘎 2021-10-18
  • 举报
回复
@矮油油 大佬,你的basler库用的是哪个版本呢,我试了好几个版本,还是一直报不支持的平台 错误
壹抹尘埃 2020-04-09
  • 打赏
  • 举报
回复
引用 7 楼 矮油油 的回复:
引用 6 楼 壹抹尘埃 的回复:
[quote=引用 5 楼 莫负好春光 的回复:]我也遇到这样的问题了,我的电脑上也是安装了海康的MSV,每次报错都是第156行的;搞了一天,绕不掉,崩溃了,楼主怎么解决的
驱动库的问题,把库换了。
请问大佬,您指的“换”是怎么换,换低版本的吗?[/quote]对,应该是basler库和QT版本不兼容的问题。
矮油油 2020-04-09
  • 打赏
  • 举报
回复
引用 6 楼 壹抹尘埃 的回复:
引用 5 楼 莫负好春光 的回复:
我也遇到这样的问题了,我的电脑上也是安装了海康的MSV,每次报错都是第156行的;搞了一天,绕不掉,崩溃了,楼主怎么解决的
驱动库的问题,把库换了。
请问大佬,您指的“换”是怎么换,换低版本的吗?
壹抹尘埃 2020-03-24
  • 打赏
  • 举报
回复
引用 5 楼 莫负好春光 的回复:
我也遇到这样的问题了,我的电脑上也是安装了海康的MSV,每次报错都是第156行的;搞了一天,绕不掉,崩溃了,楼主怎么解决的
驱动库的问题,把库换了。
壹抹尘埃 2019-12-24
  • 打赏
  • 举报
回复
引用 3 楼 jy040208 的回复:
大佬你解决了吗?我也遇到这个问题了,我是vs2019 没有qt的。EnumParameterT.h报错204个都是156行。之前我都是可以正常用的,后来用了一下海康的SDK,再换回basler就这样了。我也检查了一下项目和环境配置,感觉没有问题
Basler驱动提供的库的问题,虽然不知道问题是怎么产生的。但是经过反复测试不同的basler库(包含文件)最后解决。
jy040208 2019-12-24
  • 打赏
  • 举报
回复
大佬你解决了吗?我也遇到这个问题了,我是vs2019 没有qt的。EnumParameterT.h报错204个都是156行。之前我都是可以正常用的,后来用了一下海康的SDK,再换回basler就这样了。我也检查了一下项目和环境配置,感觉没有问题
壹抹尘埃 2019-10-19
  • 打赏
  • 举报
回复
大佬们帮帮忙,调了好几天了 一点头绪都没有

4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧