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

QT学习笔记4.6(编译,运行,调试)

1.字符编码问题

问题:程序或者注释里面有汉字,就会有报错的可能,本来是正常编译运行,复制到另一个地方,或者上传到github再下载下来,都有报错的可能。

解决:文件开头 添加 #pragma execution_character_set("utf-8")  在编译的时候就声明本文件是什么编码。然后再编译就不会报错了

2.编译、构建目录

1.不使用影子目录当做构建目录,pro文件也不进行设置,会默认使用源文件文件夹当做输出构建目录。

2.使用影子目录:

勾选影子目录设置好路径+pro文件设置。qmake后,会生成一个和源文件目录同级的文件夹。

详细过程

a.设置构建目录路径:

相对路径(推荐):

../build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Type}

绝对路径:

%{sourceDir}/build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Type}

b.配合pro进行设置,

OUT_PWD:当前构建目录(勾选的影子目录或者源文件目录)

PWD:当前源文件目录

//.pro文件

# 编译输出目录设置-----------------------------

#输出源程序目录和构建目录
#message("Source Directory: $$_PRO_FILE_PWD_")
#message("Output Directory: $$OUT_PWD")
# 检查是否使用影子构建
# 但是有时候没有生效,不输出错误,不阻止构建
equals(_PRO_FILE_PWD_, OUT_PWD) {
    error("You must use shadow build. Please select a build directory outside the source directory.")
}

# 设置构建目录
BUILD_DIR = $$OUT_PWD

# 根据构建类型设置子目录
CONFIG(debug, debug|release) {
    BUILD_SUBDIR = debug
} else {
    BUILD_SUBDIR = release
}

## 设置输出目录,子文件夹更细分
#DESTDIR = $$BUILD_DIR/$$BUILD_SUBDIR/bin
#OBJECTS_DIR = $$BUILD_DIR/$$BUILD_SUBDIR/obj
#MOC_DIR = $$BUILD_DIR/$$BUILD_SUBDIR/moc
#RCC_DIR = $$BUILD_DIR/$$BUILD_SUBDIR/rcc
#UI_DIR = $$BUILD_DIR/$$BUILD_SUBDIR/ui

# 设置输出目录
DESTDIR = $$BUILD_DIR/$$BUILD_SUBDIR/bin        # 可执行文件输出目录
OBJECTS_DIR = $$BUILD_DIR/$$BUILD_SUBDIR  # 中间对象文件目录
MOC_DIR = $$BUILD_DIR/$$BUILD_SUBDIR      # moc文件目录
RCC_DIR = $$BUILD_DIR/$$BUILD_SUBDIR      # 资源文件编译目录
UI_DIR = $$BUILD_DIR/$$BUILD_SUBDIR       # UI文件编译目录

# 可选:为 debug 版本添加后缀
CONFIG(debug, debug|release) {
    TARGET = $$join(TARGET,,,_d)
}

# ------------------------------------------------


http://www.kler.cn/news/336416.html

相关文章:

  • 【D3.js in Action 3 精译_027】3.4 让 D3 数据适应屏幕(下)—— D3 分段比例尺的用法
  • 852. 山脉数组的峰顶索引
  • 计算机网络自顶向下(2)----socket编程
  • 分享国产32位单片机的电机控制方案
  • GEE 土地分类:利用Landsat C02 TOA数据进行土地分类精度超95%(希腊雅典为例)并监测不同年份的绿地面积
  • Android高级控件
  • (2025)408考研:王道操作系统文件管理强化
  • Sublime Text 下载地址分享
  • 看480p、720p、1080p、2k、4k、视频一般需要多大带宽呢?
  • 信息学奥赛使用的编程IDE:Dev-C++ 安装指南
  • Linux之进程概念
  • 毕业设计 深度学习昆虫识别系统(源码+论文)
  • Kafka的基本概念整理
  • UE5蓝图实战:打造自定义摄像机视野控制
  • 排序算法总结(含链表)
  • 民峰:为投资者提供稳健的财富管理方案
  • 鸿蒙开发(NEXT/API 12)【二次向用户申请授权】程序访问控制
  • 秋招内推2025-招联金融
  • 基于opencv-C++dnn模块推理的yolov5 onnx模型
  • King3399 SDK(ubuntu文件系统)编译简明教程