QT程序移植出现undefined symbol: _ZN7QWidget8qwsEventEP8QWSEvent

刚开始学习linux,参照http://blog.csdn.net/vacole/article/details/6873314 ,终于搭建好了交叉编译环境,新建了一个项目,并加入了一个简单的Label,如图!

然后点击运行后,在build-hello-Embeded-Debug文件夹中生成了hello可执行文件和其他一些文件,我将build-hello-Embeded-Debug文件夹拷贝到ARM(Debian系统)设备上运行,就出现了错误:symbol lookup error: ./hello: undefined symbol: _ZN7QWidget8qwsEventEP8QWSEvent在网上找了一些解决办法:1、指定QTDIR和LD_LIBRARY_PATH可我QT环境是装在PC机上的,ARM设备中没有QT环境。我看《天嵌科技出品--Qt程序开发完全手册(上)之24小时超级版本_第二版_20091216.pdf》上面写的程序编译好之后,就直接拷贝到开发板上执行了,所以应该不需要指定QTDIR和LD_LIBRARY_PATH吧。2、动态库链接问题,用ldd测试我输入ldd hello 指令,但却提示“不是动态可执行文件”小问题,求高手指教,谢谢!

可能是库的版本不一样造成的。
你这是qt5以上的版本吧,教材上基本都是qt4的例子,依葫芦画瓢肯定不会完全一样的。追问

qt4.8.6的,主要还是按照http://blog.csdn.net/vacole/article/details/6873314 搭建的编译环境,然后就新建了一个项目,添加了一个label,其他都是自动生成的。

追答

你用的linux是红帽版本的吗,pum服务装了吗,gcc适合吗。ARM没用过,具体什么状况我不懂,只是看起来是库版本不适用的问题。爱莫能助

温馨提示:答案为网友推荐,仅供参考
相似回答