Qt qmake不断向调试构建添加-s(strip),如何禁用剥离?

Qt qmake不断向调试构建添加-s(strip),如何禁用剥离?,qt,qmake,qt5.12,Qt,Qmake,Qt5.12,使用的QT版本:5.12.6 我正在尝试使用调试符号从QTWebEngine(quicknanobrowser)构建示例。 即使在显式设置CONFIG+=debug或CONFIG+=debug-nostrip时,我仍然得到一个没有调试符号的二进制文件 在多次故障排除之后,我注意到生成的Makefile确实有-g标志来启用符号,但它也有-s标志来去除符号。然而,我似乎不明白为什么要添加这个-s标志 .pro文件: requires(qtConfig(accessibility)) TEMPLAT

使用的QT版本:5.12.6

我正在尝试使用调试符号从QTWebEngine(quicknanobrowser)构建示例。 即使在显式设置
CONFIG+=debug
CONFIG+=debug-nostrip
时,我仍然得到一个没有调试符号的二进制文件

在多次故障排除之后,我注意到生成的Makefile确实有
-g
标志来启用符号,但它也有
-s
标志来去除符号。然而,我似乎不明白为什么要添加这个
-s
标志

.pro文件:

requires(qtConfig(accessibility))

TEMPLATE = app
TARGET = quicknanobrowser

HEADERS = utils.h
SOURCES = main.cpp
CONFIG+= debug

OTHER_FILES += ApplicationRoot.qml \
               BrowserDialog.qml \
               BrowserWindow.qml \
               DownloadView.qml \
               FullScreenNotification.qml

RESOURCES += resources.qrc

QT += qml quick webengine

qtHaveModule(widgets) {
    QT += widgets # QApplication is required to get native styling with QtQuickControls
}

target.path = $$[QT_INSTALL_EXAMPLES]/webengine/quicknanobrowser
INSTALLS += target
生成的Makefile片段:

LFLAGS        = -Wl,--enable-new-dtags -Wl,-z,origin -Wl,-rpath,\$$ORIGIN/../../../../5.12.6/gcc_64/lib -Wl,-rpath,\$$ORIGIN/../../../../5.12.6/gcc_64/lib -Wl,-rpath-link,/home/amol/code/QTJimber/qtwebengine/lib -Wl,-rpath-link,/home/amol/Qt/5.12.6/gcc_64/lib -s
如果我手动从Makefile中删除
-s
标志,我可以得到一个带有符号的二进制文件,但这似乎不是我想要的

编辑
添加
消息(配置:$$CONFIG)消息(QMAKE\u LFLAGS:$$QMAKE\u LFLAGS)消息(QMAKE\u LFLAGS\u调试:$$QMAKE\u LFLAGS\u调试)消息(QMAKE\u LFLAGS\u发布:$$QMAKE\u LFLAGS\u发布)消息(QMAKESPEC:$$QMAKESPEC)
到.pro文件:

Project MESSAGE: CONFIG: lex yacc debug exceptions depend_includepath testcase_targets import_plugins import_qpa_plugin qt_build_extra file_copies qmake_use qt warn_on release link_prl incremental shared release linux unix posix gcc sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl compile_examples enable_new_dtags f16c force_debug_info largefile precompile_header rdrnd shani x86SimdAlways prefix_build force_independent utf8_source create_prl link_prl prepare_docs qt_docs_targets no_private_qt_headers_warning QTDIR_build qt_example_installs exceptions_off testcase_exceptions explicitlib warning_clean debug
Project MESSAGE: QMAKE_LFLAGS:
Project MESSAGE: QMAKE_LFLAGS_DEBUG:
Project MESSAGE: QMAKE_LFLAGS_RELEASE: -Wl,-O1
Project MESSAGE: QMAKESPEC: /home/amol/Qt/5.12.6/gcc_64/mkspecs/linux-g++


nostrip-如果设置,典型的Unix strip功能将关闭,调试信息将保留在二进制文件中。

您好,欢迎访问该站点!请你试着把这篇文章改成一个实际的问题好吗?包含您一直收到的一些错误消息也会很有帮助。我没有收到错误消息,只是没有做我怀疑它会做的事情,请在
.pro
文件中添加以下行,运行
qmake
并发布输出:
消息(配置:$$CONFIG)消息(qmake\u LFLAGS:$$qmake\u LFLAGS)消息(QMAKE\u LFLAGS\u调试:$$QMAKE\u LFLAGS\u调试)消息(QMAKE\u LFLAGS\u发布:$$QMAKE\u LFLAGS\u发布)消息(QMAKESPEC:$$QMAKESPEC)
最有可能的是
-s
标志被设置在
mkspecs
中的某个地方用于构建配置,但是很难说提供的信息在哪里。我已经检查了我的
mkspecs
,似乎该标志只被设置为
QMAKE\u LFLAGS\u RELEASE
。在这种情况下,它可以通过
QMAKE\LFLAGS\u RELEASE-=-s禁用
我尝试添加
QMAKE\u LFLAGS\u RELEASE-=-s
QMAKE\u LFLAGS\u DEBUG-=-s
QMAKE\u LFLAGS-=-s
,但是Makefile仍然包含
-s
标志