QT移植,交叉编译至泰山派RK3566开发板,.pro文件解析

配置文件丢这里,后面有空整理下。

说下大概的注意点,

安装路径(qtcreator远程部署的路径)、

动态库路径和头文件路径、

运行时动态库路径和头文件路径($$pwd在编译后会被换成绝对路径,因此需要指定运行时动态库路径)

bash 复制代码
# 指定使用的 Qt 模块
QT       += core gui widgets

# 配置选项
CONFIG += c++11

# 警告和弃用 API
DEFINES += QT_DEPRECATED_WARNINGS
# 如果需要禁用已弃用的 API,取消以下注释
# DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000

# 源文件和头文件
SOURCES += \
    HikvisionCamera.cpp \
    VideoPlayer.cpp \
    main.cpp \
    mainwindow.cpp

HEADERS += \
    HikvisionCamera.h \
    VideoPlayer.h \
    mainwindow.h

FORMS += mainwindow.ui

# 翻译文件
TRANSLATIONS += RemoteControl_zh_CN.ts

# 安装路径配置
target.path = /home/lckfb/work/RemoteControlDemo/build-RemoteControl-ARM_kits-Debug
INSTALLS += target

# 动态库路径和头文件路径
INCLUDEPATH += $$PWD/../lib/MakeAll $$PWD/../lib/incCn
DEPENDPATH += $$PWD/../lib/MakeAll

## 确保包含路径中包含 sysroot 的 include 目录
INCLUDEPATH += $$PWD/../../sysroot/usr/include
## 确保依赖路径中包含 sysroot 的 include 目录
DEPENDPATH += $$PWD/../../sysroot/usr/include

# 自定义库路径
LIBS += -L$$PWD/../lib/MakeAll -lSuperRender
LIBS += -L$$PWD/../../sysroot/usr/lib/aarch64-linux-gnu \
    -lPlayCtrl    \
    -lssl          \
    -lhcnetsdk -lz -lhpr -lHCCore -lcrypto -lAudioRender
LIBS += -L$$PWD/../lib/MakeAll/HCNetSDKCom \
                                    -lHCPreview  \
                                    -lHCPlayBack \
                                    -lHCDisplay  \
                                    -lSystemTransform \
                                    -lHCGeneralCfgMgr

# 交叉编译配置
QMAKE_CXX = aarch64-linux-gnu-g++
QMAKE_CC = aarch64-linux-gnu-gcc
QMAKE_LINK = aarch64-linux-gnu-g++

# 指定 sysroot 目录
QMAKE_CFLAGS += --sysroot=$$PWD/../../sysroot
QMAKE_CXXFLAGS += --sysroot=$$PWD/../../sysroot
QMAKE_LFLAGS += --sysroot=$$PWD/../../sysroot -Wl,-rpath-link=$$PWD/../../sysroot/usr/lib/aarch64-linux-gnu

# 添加开发板运行时库路径(rpath)
QMAKE_LFLAGS += -Wl,-rpath,/home/lckfb/work/RemoteControlDemo/lib/MakeAll \
                -Wl,-rpath,/home/lckfb/work/RemoteControlDemo/lib/MakeAll/HCNetSDKCom
相关推荐
007php00718 分钟前
PHP与Java项目在服务器上的对接准备与过程
java·服务器·开发语言·分布式·面试·职场和发展·php
Evand J1 小时前
【MATLAB程序,一维非线性EKF与RTS】MATLAB,用于一维的位移与速度滤波和RTS平滑/高精度定位,带滤波前后的误差对比
开发语言·matlab·卡尔曼滤波·rts平滑·正向滤波
火云洞红孩儿6 小时前
告别界面孤岛:PyMe如何用一站式流程重塑Python GUI开发?
开发语言·python
叫我辉哥e17 小时前
新手进阶Python:办公看板集成ERP跨系统同步+自动备份+AI异常复盘
开发语言·人工智能·python
晚风吹长发7 小时前
初步了解Linux中的命名管道及简单应用和简单日志
linux·运维·服务器·开发语言·数据结构·c++·算法
C++ 老炮儿的技术栈7 小时前
不调用C++/C的字符串库函数,编写函数strcpy
c语言·开发语言·c++·windows·git·postman·visual studio
布局呆星7 小时前
闭包与装饰器
开发语言·python
fyzy8 小时前
C++写后端实现,实现前后端分离
开发语言·c++
huohuopro8 小时前
Mybatis的七种传参方式
java·开发语言·mybatis
Lee_SmallNorth8 小时前
变态需求之【角色不同访问数据库的用户不同】
java·开发语言·数据库