当前位置: 首页 > news >正文

直播相关01-录制麦克风声音,QT上 .pro 将 linux,mac和windows上配置为三种可以共享, 在.pro文件中 message 的作用

一  QT 上的 .pro 文件 将 linux,mac和windows上配置设置为可以共享

1. 先来看文件夹布局

2. 再来看 QT 中的 .pro文件

.pro 文件的写法

QT       += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \mainwindow.cppHEADERS += \mainwindow.hFORMS += \mainwindow.ui# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target# 添加windows的配置,这里不管你是win32 还是 win64 ,都是统一使用 win32
win32 {FFMPEG_HOME = ../ffmpeg-6.0-full_build-sharedSDL_HOME = ../SDL2-devel-2.0.14-mingw/SDL2-2.0.14/x86_64-w64-mingw32#INCLUDEPATH += 的意思是再原先的INCLUDEPATH的基础上,再添加等号后面的值 $${SDL_HOME}的意思是从 SDL_HOME中取出值,也就是 ../sdl,
#连起来看,这句话的意思是,给原先的  INCLUDEPATH ,再加上 当前.pro文件的上一级目录下的/sdl/include
#INCLUDEPATH 的意思是添加 .h文件
INCLUDEPATH += $${SDL_HOME}/include/SDL2 \$${FFMPEG_HOME}/include#LIBS 的意思是添加静态库和动态库的访问路径,
LIBS += -L$${SDL_HOME}/lib \-L$${FFMPEG_HOME}/lib \-lavcodec \-lavdevice \-lavfilter \-lavformat \-lavutil \-lpostproc \-lswscale \-lswresample \-lsdl2# message()可以用来打印
message(11111111111)
message($${SDL_HOME})
message($${FFMPEG_HOME})
message($$(PATH))
}mac {FFMPEG_HOME = /usr/local/Cellar/ffmpeg/4.3.2SDL_HOME = /usr/local/Cellar/SDL2-devel-2.0.14-mingw/SDL2-2.0.14/INCLUDEPATH += $${SDL_HOME}/include/SDL2 \$${FFMPEG_HOME}/include#LIBS 的意思是添加静态库和动态库的访问路径,LIBS += -L$${SDL_HOME}/lib \-L$${FFMPEG_HOME}/lib \-lavcodec \-lavdevice \-lavfilter \-lavformat \-lavutil \-lpostproc \-lswscale \-lswresample \-lsdl2
}# 库文件路径
#mac:INCLUDEPATH += $${FFMPEG_HOME}/include# 需要链接哪些库?默认是链接动态库
#mac:LIBS += -L $${FFMPEG_HOME}/lib \

message()方法可以在.pro文件中 打印相关信息

# message()可以用来打印
message(11111111111)
message($${SDL_HOME})
message($${FFMPEG_HOME})
message($$(PATH))

可以看到message 打印相关的信息 是在 QT 的 “概要信息” 中的。

我们将信息分析如下:

Project MESSAGE: 11111111111
Project MESSAGE: ../SDL2-devel-2.0.14-mingw/SDL2-2.0.14/x86_64-w64-mingw32
Project MESSAGE: ../ffmpeg-6.0-full_build-shared/// PATH 信息,前三行为QT 安装的path,下来是 系统变量, 最后三行是Anminister的用户变量
Project MESSAGE: C:\Qt\Qt5.14.2\Tools\mingw730_64\bin;
C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin;
C:\Qt\Qt5.14.2\Tools\mingw730_64\bin;D:\Ctool\ffmpeg-4.2.1-win32-shared\bin;
C:\Program Files (x86)\VMware\VMware Workstation\bin\;
D:\Ctool\yinshipin\ffmpeg-6.0-full_build-shared\bin;
C:\Program Files\Microsoft MPI\Bin\;
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;
C:\windows\system32;
C:\windows;
C:\windows\System32\Wbem;
C:\windows\System32\WindowsPowerShell\v1.0\;
C:\windows\System32\OpenSSH\;
C:\Program Files\dotnet\;
C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;
C:\Program Files\IDM Computer Solutions\UltraEdit;
C:\Program Files\Git\cmd;
C:\Program Files\TortoiseGit\bin;
D:\Ctool\SDL2-devel-2.0.14-mingw\SDL2-2.0.14\x86_64-w64-mingw32\bin;
D:\Ctool\x86_64-8.1.0-release-win32-seh-rt_v6-rev0\mingw64\bin;
C:\Program Files\CMake\bin;
D:\Ctool\protobuf\protobuf-windows\bin;
D:\Ctool\protobuf\protobuf-windows\lib;
C:\Program Files\Java\jdk1.8.0_241\bin;
C:\Program Files\Microsoft VS Code\bin;
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64;
D:\Ctool\SDL2-devel-2.0.14-mingw\SDL2-2.0.14\x86_64-w64-mingw32\bin;
C:\Program Files\OpenSSL-Win64\bin;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;
C:\Users\Administrator\.dotnet\tools;
C:\Program Files\JetBrains\CLion 2023.3.4\bin;

3.注意的问题

我们在这里 加载了 ffmpeg 库,加载了sdl的库,要注意的是:在加载多个第三方库的时候,INCLUDEPATH,LIBS时,只能写一个,不能写多个,否则build fail。 

INCLUDEPATH += $${SDL_HOME}/include/SDL2 \$${FFMPEG_HOME}/include#LIBS 的意思是添加静态库和动态库的访问路径,LIBS += -L$${SDL_HOME}/lib \-L$${FFMPEG_HOME}/lib \-lavcodec \-lavdevice \-lavfilter \-lavformat \-lavutil \-lpostproc \-lswscale \-lswresample \-lsdl2

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【数据库】MySQL-基础篇-函数
  • 批量创建文件夹和文件——excel VBA实现
  • Aigtek功率放大器在超声检测陶瓷复合材料内部缺陷中的应用
  • HTML5 `<button>` 标签深入全面解析
  • 运动耳机精选分享,热门骨传导耳机运动好物推荐!
  • 10款超好用的文件加密软件推荐|企业文件加密的好选择
  • 中国碳排放交易试点城市名单DID(2000-2022年)
  • 如何使用 Nginx 部署前端 Vue 项目
  • 深入理解 Go 中的 defer、panic 、日志管理与WebAssembly
  • C2 Magic 附工具下载,供学习使用
  • pyspark.sql.types
  • 想了解ECM衍生材料?看这里,从提取到应用!
  • Flask session cookie 失效在Safari中的解决方法
  • web前端-HTML常用标签(二)
  • 代理伺服器地址怎麼正確填寫-okeyproxy
  • exports和module.exports
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • PHP CLI应用的调试原理
  • PHP的类修饰符与访问修饰符
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Rancher如何对接Ceph-RBD块存储
  • tweak 支持第三方库
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 开源SQL-on-Hadoop系统一览
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 正则表达式
  • PostgreSQL之连接数修改
  • 函数计算新功能-----支持C#函数
  • 容器镜像
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ‌移动管家手机智能控制汽车系统
  • #Spring-boot高级
  • #宝哥教你#查看jquery绑定的事件函数
  • (2024)docker-compose实战 (8)部署LAMP项目(最终版)
  • (C#)获取字符编码的类
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (十)T检验-第一部分
  • (四)JPA - JQPL 实现增删改查
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET Remoting学习笔记(三)信道
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • [acwing周赛复盘] 第 69 场周赛20220917
  • [C++] 容器适配器:深入理解Stack与Queue的底层原理
  • [C++][STL源码剖析] 详解AVL树的实现
  • [C++]二叉搜索树
  • [C语言][PTA基础C基础题目集] strtok 函数的理解与应用