qmake 修改编译选项

今天再用addr2line 时, 发现不能给出行号,原来是gcc/g++编译器 -fPIC 引起的,参考:

处理segment fault 的一种方法_hjjdebug的博客-CSDN博客_segmentfault

编译需要加入-no-pie 就可以看到源码信息了.

如果在qt 工程里如何控制编译选项呢, 主要是自己试出来的,记录一下:

参考了:

1. qmake -d 有 lots of message 输出, 可参考.

2. Makefile 内容

3. 网络

发现关键是修改 QMAKE_CXXFLAGS, QMAKE_LDFLAGS 才能够改变到Makefile 中的CXXFLAGS,LDFLAGS,  给出一个示例来如下, 请参考注释.

######################################################################
# Automatically generated by qmake (3.1) Tue Apr 5 16:31:59 2022
######################################################################

TEMPLATE = app
TARGET = crash
INCLUDEPATH += .
QT-=core gui
CONFIG+=debug
# 想改变CXXFLAGS, 采用如下的方式
QMAKE_CXXFLAGS += -no-pie
QMAKE_CXXFLAGS_APP -= -fPIC
# 想改变LFLAGS 选项?
QMAKE_LFLAGS += -no-pie

# You can make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# Please consult the documentation of the deprecated API in order to know
# how to port your code away from it.
# 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.0

# Input
SOURCES += main.cpp

生成Map 文件:

QMAKE_LFLAGS += -Wl,-Map,file_name.map

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明
VSCode 是一款功能强大的代码编辑器,支持多种编程语言。要在 VSCode 中使用 qmake 编译 C 程序,可以采取以下步骤: 第一步是在 VSCode 中安装 C/C++ 插件。打开 VSCode,点击左侧的扩展图标(四个方块的图标),搜索并安装 "C/C++" 插件。这个插件将为我们提供 C/C++ 开发所需的功能和语法高亮。 第二步是创建一个新的 C 程序项目。在 VSCode 中打开命令面板(快捷键 Ctrl+Shift+P),输入 "C/C++: New C/C++ Project",选择 "Executable"(可执行文件)选项,并输入项目的名称和保存的路径。这将在所选路径下创建一个新的文件夹,并生成一个示例的 C 源文件。 第三步是设置项目的编译选项。在 VSCode 中打开项目文件夹,找到 ".vscode" 文件夹,并在其中创建一个名为 "c_cpp_properties.json" 的新文件。在该文件中,使用 JSON 格式配置 C 和 C++ 编译器的路径和选项。 第四步是在项目中添加一个名为 "Makefile" 的文件。在项目文件夹下创建一个名为 "Makefile" 的新文件,用来指示编译器如何编译和链接程序。在 Makefile 文件中,使用 qmake 命令生成 Makefile,并使用 make 命令进行编译。 第五步是配置 VSCode 中的任务。在 VSCode 中打开命令面板,输入 "Tasks: Configure Default Build Task",选择 "g++ build active file" 作为默认的构建任务。然后,打开生成的 "tasks.json" 文件,并修改其中的 "command" 字段为 "make"。 最后一步是编译并运行 C 程序。在 VSCode 中打开 C 源文件,按下快捷键 Ctrl+Shift+B 进行编译,或者通过命令面板选择 "Tasks: Run Build Task"。如果编译成功,将在输出窗口显示编译结果。然后,可以按下 F5 键或通过命令面板选择 "Debug: Start Debugging",来运行程序并进行调试。 通过以上步骤,我们就可以在 VSCode 中使用 qmake 编译 C 程序了。这个过程中,我们需要安装插件、创建项目、配置编译选项、添加 Makefile 文件、配置构建任务,然后就可以进行编译和运行了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值