移植Qt opencv工程时遇到的错误及解决方法
### 移植Qt opencv工程项目至Zynq7000平台过程中遇到的问题与解决方案 #### 背景概述 本文旨在记录将基于Qt和OpenCV的人脸识别工程项目移植到Zynq7000开发板的过程中遇到的一系列问题及其解决方法。Zynq7000是一款集成了ARM处理器和FPGA的SoC(System on Chip)平台,适用于嵌入式视觉、工业自动化等应用领域。在进行项目移植时,开发人员可能会遇到编译错误、运行时找不到动态库文件等问题。 #### 编译阶段问题及解决 ##### 错误描述 在尝试编译Qt opencv工程项目时,遇到了编译错误。通过排查发现编译时使用的`cxxflag`配置存在问题。 ##### 解决方案 将`cxxflag`修改为:`-pipe -O2 -Wall -W -std=c++11 -fPIC $(DEFINES)`。此修改解决了编译过程中出现的大部分问题,使程序能够顺利通过编译。 #### 运行阶段问题及解决 ##### 错误描述 在成功编译后,将程序部署到Zynq7000开发板上运行时,遇到了多种运行时错误。 1. **错误一**:程序在超级用户模式下运行时报错。 2. **错误二**:程序运行时无法找到所需的库文件。 3. **错误三**:程序运行时缺少必要的命令行参数。 4. **错误四**:程序运行时未正确指定字体库的位置。 5. **错误五**:程序运行后,虽然图形界面成功启动,但界面存在异常,并且终端报告权限拒绝错误。 6. **错误六**:程序在超级用户模式下运行时,出现了与权限相关的其他错误。 ##### 解决方案 1. **修改用户模式**:将程序改为在普通用户模式下运行。这样可以避免因权限过高而导致的一些意外问题。 - 命令示例:切换到普通用户模式。 2. **添加库路径**:通过环境变量设置库的搜索路径。 - 命令示例:`export QTDIR=/usr/lib` 和 `export LD_LIBRARY_PATH=$QTDIR:$LD_LIBRARY_PATH`。 3. **添加命令行参数**:向程序添加必要的命令行参数。 - 命令示例:`./program_name -qws`。 4. **指定字体库位置**:明确指定字体库的位置。 - 命令示例:`export QT_QWS_FONTDIR=/usr/lib/fonts`。 5. **解决界面异常问题**: - **错误原因**:程序运行后,图形界面出现异常,终端提示“`dev/tty0` permission denied”错误。这是因为普通用户对终端设备没有足够的权限。 - **解决方法**:修改用户权限或在运行程序前删除特定的临时文件。 - 命令示例:`rm /tmp/qtembedded-0` 或者使用超级用户权限运行程序。 6. **解决超级用户模式下的其他权限问题**: - **错误原因**:在超级用户模式下运行程序时,可能会遇到其他与权限相关的错误,这些错误通常是因为程序在普通用户模式下创建了一些文件,而超级用户无法访问这些文件。 - **解决方法**:确保程序能够在相同的用户模式下运行,或者手动删除之前创建的文件。 - 命令示例:`sudo rm /tmp/qtembedded-0`。 #### 注意事项 - 在运行程序时,请确保当前工作目录为程序的可执行文件所在目录。如果在其他目录下使用绝对路径运行程序,则可能会导致程序无法找到所需的相对路径下的文件,进而影响程序的正常运行。 - 例如,正确的运行命令应该是: - `cd /path/to/program` - `./hq_ -qws` 通过上述步骤,可以有效地解决在将基于Qt和OpenCV的人脸识别工程项目移植到Zynq7000开发板过程中遇到的各种问题,确保项目的顺利部署与运行。
- 粉丝: 15
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 10、安徽省大学生学科和技能竞赛A、B类项目列表(2019年版).xlsx
- 9、教育主管部门公布学科竞赛(2015版)-方喻飞
- C语言-leetcode题解之83-remove-duplicates-from-sorted-list.c
- C语言-leetcode题解之79-word-search.c
- C语言-leetcode题解之78-subsets.c
- C语言-leetcode题解之75-sort-colors.c
- C语言-leetcode题解之74-search-a-2d-matrix.c
- C语言-leetcode题解之73-set-matrix-zeroes.c
- 树莓派物联网智能家居基础教程
- YOLOv5深度学习目标检测基础教程