#问题求助#| Qt | Qt编译过程中cannot find -lQt5Widgets的错误

项目场景:

运行环境:Ubuntu18.04,Qt5.12.10,linux系统


问题描述:

原本之前运行OK的程序,突然出现了编译问题,后来进行了新建项目也无法顺利进行编译,错误显示为找不到-lQt5Widgets,但是网上一周搜不到解决办法。

错误提示:

error: cannot find -lQt5Widgets

 error: collect2: error: ld returned 1 exit status

 error: [Test2] Error 1

现象:

图中是我新添加的项目,选择了QWidget,All kits,创建并编译,出现如下错误。

同时我用其他mainWindows创建的文件编译也出现这个问题。


原因分析:

办法1:可能是由于配置文件的原因,但是我已经在/etc/profile文件里进行了路径配置:

export QTDIR=/opt/Qt5.12.10/5.12.10
export PATH=$QTDIR/gcc_64/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/gcc_64/lib:$LD_LIBRARY_PATH
export PATH=/opt/Qt5.12.10/Tools/QtCreator/bin:$PATH
 

export SUBLIBS=-lQt5Widgets
export LD_LIBRARY_PATH=$QTDIR/lib

 

办法2:也在Makefile文件中进行了添加路径:

LIBS          = $(SUBLIBS) /opt/Qt5.12.10/5.12.10/gcc_64/lib/libQt5Widgets.so /opt/Qt5.12.10/5.12.10/gcc_64/lib/libQt5Gui.so /opt/Qt5.12.10/5.12.10/gcc_64/lib/libQt5Core.so -lGL -lpthread -lQt5Widgets
SUBLIBS=-lQt5Widgets
LIBS    = -lQt5Widgets

办法3:也在项目的.pro文件中进行了添加:

 

Qt += widgets


解决方案:

等待爱心人士的解答!!!万分感谢

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Qt对线程提供了支持,基本形式有独立于平台的线程类、线程安全方式的事件传递和一个全局Qt库互斥量允许你可以从不同的线程调用Qt方法。 这个文档是提供给那些对多线程编程有丰富的知识和经验的听众的。推荐阅读: Threads Primer: A Guide to Multithreaded Programming Thread Time: The Multithreaded Programming Guide Pthreads Programming: A POSIX Standard for Better Multiprocessing (O'Reilly Nutshell) Win32 Multithreaded Programming 警告:所有的GUI类(比如,QWidget和它的子类),操作系统核心类(比如,QProcess)和网络类都不是线程安全的。 QRegExp使用一个静态缓存并且也不是线程安全的,即使通过使用QMutex来保护的QRegExp对象。 启用线程支持 在Windows上安装Qt时,在一些编译器上线程支持是一个选项。 在Mac OS X和Unix上,线程支持可以当你在运行configure脚本时添加-thread选项就可以生效了。在Unix平台上,多线程程序必须用特殊的方式连接,比如使用特殊的libc,安装程序将会创建另外一个库libqt-mt并且因此线程程序必须和这个库进行连接(使用-lqt-mt)而不是标准的Qt库。 在两个平台上,你都应该定义宏QT_THREAD_SUPPORT来编译(比如,编译时使用-DQT_THREAD_SUPPORT)。在Windows上,这个通常可以在qconfig.h写一个条目来解决。 线程类 最重要的类是QThread,也就是说要开始一个新的线程,就是开始执行你重新实现的QThread::run()。这和Java的线程类很相似。 为了写线程程序,在两个线程同时希望访问同一个数据时,对数据进行保护是很必要的。因此这里也有一个QMutex类,一

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值