OpenEuler系统下Qt开发遇到的一些问题及其解决办法

1.qdebug不输出:

https://blog.csdn.net/qq_43166035/article/details/124085036
先通过下面的命令找到00deepin-dde-env,然后再按照上面的教程搞。

sudo find / -name *dde-env 

2.程序的发布:

https://blog.csdn.net/xiaobai_cpp/article/details/125506593
涉及mysql时,需要把libmysqlclient.so那几个一起拷贝过去
上面的文章提到要把plugins里面的文件夹拷贝到可执行文件同一级目录下这个问题,其实可以通过修改启动脚本来实现:直接拷贝plugins文件夹到可执行文件目录下,而不是一个一个拷贝。

#!/bin/bash

export QT_PLUGIN_PATH=$(pwd)/plugins
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)

sudo -E env LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd) ./MyApp

# 配合上面的export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd),理论上可以这样用;
# 但是实际上不可以,不知道为啥
#sudo -E ./MyApp

3.mysql相关

安装mysql:
https://www.cnblogs.com/jasonx1an/p/16690866.html
记得要安装其中的devlop
编译qtmysql时:
在修改完源码(屏蔽两处)后,使用类似下面的语句初始化编译步骤,

/home/openeuler/Qt5.15/5.15.2/gcc_64/bin/qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=/usr/lib64/mysql/libmysqlclient.a" mysql.pro

然后 make make install

4.无法调试,报no debugger:

sudo yum install gdb

5.相机查看

sudo yum install cheese

6.没有lsusb

sudo yum install usbutils

7.编译opencv

https://www.huawei.com/cn/open-source/blogs/setting-up-environment-testing-opencv440-on-openeuler

8.在开发机上使用QCamera正常,但是在客户机上没有反应、无法找到可用摄像头的问题。

主要是因为有一些动态库还没有拷贝过去。(注意先要按照第二点把plugins拷贝过去,且弄好相应的启动脚本)
把第2点中提到的ldd_copy.sh脚本分别拷贝到Qt的plugins目录下的audio、mediaservice目录下,分别利用该脚本对里面的so文件进行依赖库收集,然后把lib里面收集到的文件拷贝到可执行程序同级目录下。然后就可以了。在这里插入图片描述

9.直接在脚本中写好密码,在sudo运行某个程序时,无需输入密码。

!!!这个请慎用,请充分理解密码暴露的风险后再使用!!!
!!!这个请慎用,请充分理解密码暴露的风险后再使用!!!
!!!这个请慎用,请充分理解密码暴露的风险后再使用!!!

#!/bin/bash

password="123456"  # 将此处的密码替换为实际密码

echo $password | sudo -S ./myApp

10.没有ifconfig

sudo yum install net-tools 

猜你喜欢

转载自blog.csdn.net/joyopirate/article/details/131322363