野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13146|回复: 0

下载了git上的配套qt例程,在ubuntu下编译报错。

[复制链接]
发表于 2020-1-19 09:11:58 | 显示全部楼层 |阅读模式
本帖最后由 Any 于 2020-1-19 09:13 编辑

在win下能通过编译,但是执行程序时异常。
App.exe - 无法找到入口
无法定位程序输入点_ZN12QtListWidget12setScaleSizeEii于动态链接库F:\xxx\App.exe上。
----------------------------------------------

转到ubuntu下,用pc端的qmake,结果报错:
typedef redefinition with different types('long long' vs '__off64_t'(aka 'long'))
找了下,在某个头文件有这个:
typedef long long off64_t
在另一个头文件里有:
#if defined( _WIN32 ) || defined ( _WIN64 )
  #define __INT64   __int64
  #define __UINT64  unsigned __int64
#else
  #define __INT64   long long
  #define __UINT64  unsigned long long
#endi
最后把这个typedef long long off64_t给屏蔽掉了,因为发现那个.c和.h文件里没有用到long long这个类型。
--------------------------------------

把typedef long long off64_t这句屏蔽了,又有新的错误:
:-1: error: skipping incompatible /home/any/imx6ul/ebf_linux_qt_demo/ffmpeg/linuxlib/libavfilter.so when searching for -lavfilter
:-1: error: cannot find -lavfilter
我看了下pri里关于库的引用:
INCLUDEPATH += $$PWD/include
INCLUDEPATH += $$PWD
win32 {
LIBS += -L$$PWD/winlib/ -lavcodec -lavfilter -lavformat -lswscale -lavutil
}
unix {
LIBS += -L$$PWD/linuxlib -lavfilter -lavformat -lavdevice -lvcodec -lswscale -lavutil -lswresample -lpthread -lm -lrt -ldl
}
而且linuxlib文件夹下有libavfilter、libavformat等文件。
----------------------------------

这些报错都是和Musicplayer相关的,在pro文件里把musicplay.pri屏蔽掉,还有些与musicplayer类相关的也屏蔽了。可以运行了。
现在的疑问是:
1、win下为什么不能运行?
2、ubuntu下ffmpeg相关的几个库引用为什么报错?
                                       
                                       

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 19:24 , Processed in 0.025294 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表