qt5linux
1. 怎么样在linux系统下修改qt5,3,2软件环境变量
修改环境变量
#vi /etc/profile
在该文件的末尾加上以下语句:
PATH=/usr/local/qt4.3.2/bin:$PATH QTDIR=/usr/local/qt4.3.2 MANPATH=$QTDIR/man:$MANPATH LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH export PATH QTDIR MANPATH LD_LIBRARY_PATH
为了使重新设置的环境变量生效运行
#source /etc/profile
当然,上面的步骤是设置全局的环境变量,你也可以在$home/.bash_profle进行相应设置,但别忘了用source ~/.bash_profle时你的环境变量重新生效。要么,那么你也只有重新注销一次让环境变量生效,这样做就是为了节省时间。
2. linux下qt5安装后打不开(没反应),怎么办
用终端进入到qtcreator的安装目录,在其目录下执行 /qtcreator,看看终端上显示什么错误。
3. Qt5 linux 无法连接sqlite
先安装好sqlite,然后去系统软件源中找qt自带的sqlite的驱动安装。
Linux平台下解决Qt5连接mysql数据库的问题:输入sudoapt-getinstalllibqt5sql5-mysql解决,这种方法只能解决Qt是用sudoapt-getinstallqt-sdk命令装的低版本的Qt5(如5、2、x)缺少MySQL驱动问题,如果你的Qt5版本为5、7、X,那么就不能用这种方法解决,请参考下面的方法。
4. Qt5 在Linux 下的编译,该怎么处理
[wanglj@localhost testQT]$ make
g++ -o testQT main.o -L/opt/Qt5.1.1/5.1.1/gcc_64/lib -lqt-mt -lXext -lX11 -lm
main.o: In function `main':
/home/wanglj/testQT/main.cpp:6: undefined reference to `QApplication::QApplication(int&, char**, int)'
main.o: In function `QString':
/usr/include/QtCore/qstring.h:413: undefined reference to `QString::fromAscii_helper(char const*, int)'
main.o: In function `main':
/home/wanglj/testQT/main.cpp:7: undefined reference to `QLabel::QLabel(QString const&, QWidget*, QFlags<Qt::WindowType>)'
main.o: In function `~QString':
/usr/include/QtCore/qstring.h:869: undefined reference to `QString::free(QString::Data*)'
/usr/include/QtCore/qstring.h:869: undefined reference to `QString::free(QString::Data*)'
collect2: ld 返回 1
make: *** [testQT] 错误 1
但若直接用 qtcreator 打开编译,则无错误
并且find -name libqt-mt* 也找不到其他版本的该文件
用qtcreator编译好的可执行文件,也找不到连接该lib文件
[wanglj@localhost build-testQT-桌面-Debug]$ ldd testQT
linux-vdso.so.1 => (0x00007fff4ddff000)
libQtGui.so.4 => /usr/lib64/libQtGui.so.4 (0x000000397f000000)
libQtCore.so.4 => /usr/lib64/libQtCore.so.4 (0x000000397ea00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003978600000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fda6a081000)
libm.so.6 => /lib64/libm.so.6 (0x0000003977a00000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003983a00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003977e00000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x000000397a600000)
librt.so.1 => /lib64/librt.so.1 (0x0000003978e00000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000003979200000)
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x000000397be00000)
libz.so.1 => /lib64/libz.so.1 (0x0000003978a00000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x000000397ba00000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000003979e00000)
libSM.so.6 => /usr/lib64/libSM.so.6 (0x0000003985a00000)
libICE.so.6 => /usr/lib64/libICE.so.6 (0x0000003984e00000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x000000397ce00000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x000000397d600000)
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x000000397de00000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x000000397da00000)
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x000000397e200000)
libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x000000397e600000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x000000397d200000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x000000397c600000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x000000397b600000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003978200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003977600000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x0000003983600000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x000000397c200000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x000000397ae00000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x000000397aa00000)
------解决方案--------------------
INCPATH = -I/usr/lib64/qt-3.3/mkspecs/default -I. -I. -I$(QTDIR)/include
这一行看上去你调用的qmake不是5.1.1的。试试指定完整路径运行qmake
/opt/Qt5.1.1/5.1.1/gcc_64/bin/qmake testQT.pro
5. linux qt4怎么打开qt5
Qt5推出一段时间了,经过了试用,虽然还存在一些问题,比如Designer 缺少 WebView 和 ActiveQt 的UI工具,此外 WebKit 的 Release 版本似乎和Visual-Studio 2012 Express 编译器不太吃劲,老是报运行时错误——好在目前用到的模块都测试过了。
1,修改路径系统。Qt4 的 QtGUI下很多类被独立到widgets模块里了,为了提高兼容性,把这些include 的抬头全去了,直接是 #include<qapplication> ,这样,通过 Qt += 模块名,即可弥合4,5之间的差异。
2,添加一个宏替换,Qt ::WFlag变成 Qt5 的 WindowFlags, 小问题。
3,插件系统的修改。 新的 Q_PLUGIN_METADATA 在插件实现类的首部,代替了以往在 CPP里Export 的模式,对迁移没有影响。加入编译预处理宏,判断一下标志,决定采用哪一种方法。
4,字符串处理方式问题。目前,由于项目对中文、英文和国际化的使用较为规范,没有遇到乱码的问题,可以认为兼容性较好。
5,第三方依赖性
如果引用了 PostgreSQL 或 MySQL的Sql 连接插件,注意把 libpq 和 libmysql相关的库文件拷贝到可执行文件所在文件夹下,而不是 plugins 所在的文件夹,否则尽管可以枚举到驱动,但连接可能失败。如果引用了OCI的插件,注意不要拷贝oci.dll 到发布文件夹,在某些情形下,会导致连接失败。而是利用发布目的机器路径系统上的Oracle 连接实例来获取依赖。
6、发布程序
Qt5的plugins 文件夹中的内容,不要忘记一起发布。
总结: 经过测试, Qt4 到 5 的转换比 Qt3->4 要平滑很多,一般的项目均可以快速迁移。
6. 求助,我在linux下安装的Qt5为什么用GDB调试器无法进入源码
打开命令终端面板输入:sudo apt-get install gdb 如图所示: 即可安装,如果还是不可以,那就使用下面这种方式安装: 打开终端输入: wget ftp://ftp.gnu.org/gnu/gdb/gdb-7.9.tar.gz 下载完毕后解压 tar -zxvf /gdb-7.9.tar.gz 然后进行安装即可
7. Linux+qt5最小需要多大的内存
最小543MB。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的RedHatEnterpriseLinux、SUSE、OracleLinux等。
8. linux下qt程序怎么静态调用libqt5core.so
1,如果同时打开静态库和运行程序调用,调式模式下,可以进入静态库的内部函数进行调试;
2,其实不用把shadow build取消勾选;文件输出的文件就是lib***.a的文件,可以在shadow目录里面很方便找到;
3,新的项目使用的时候,就是让其能找到lib***.a,和该库的h头文件;
4,QT的编译输出的静态库名字会自动在项目名字前加lib三个字,后缀是.a;
5, QT5.15的编程的工程与该例子中缺少“需要什么模块就添加什么”的部分;