我在我的 QT 代码中使用 libzbarQT (libzbarQT.so)。我在构建代码时遇到错误“未定义对 QWidget::qwsEvent(QWSEvent *event) 的引用”。我没有在我的代码中使用这个函数QT代码。我想知道哪个函数在内部调用这个函数,这样我就可以稍微调整一下这个库。 请提出任何建议..
在此先感谢您的帮助。
PS:我正在使用带有 LTIB 的 arm-none-linux-gnueabi-g++ 工具链交叉编译我的代码。
为了解决错误“/usr/lib/libzbarqt.so: undefined reference to QX11Info::display()”,我用 X11 构建了 Qt。现在我收到错误:libzbarqt.so: undefined reference to
QWidget::qwsEvent(QWSEvent*)' 错误。
最佳答案
一般来说,您可以确保符号存在于库中,除非它是在没有符号的情况下构建的。我通常使用 nm -a
和 objdump
实用程序进行该操作。
更重要的是:您拥有的 zbar 动态库似乎是针对 Qt 的嵌入式版本而不是桌面 Linux 构建的。
不幸的是,两个版本都有相同的动态库文件名,所以 ldd
之类的东西没什么用。
您需要确保使用与构建库所针对的完全相同版本的 Qt 安装。这意味着,如果您为此使用桌面 Linux 安装,它将无法工作。
关于c++ - 基于 libzbar 的 Qt 应用程序的构建问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20855790/