Qmake:如何在不更改qmake.conf的情况下删除某个项目的编译器标志?

Vio*_*ffe 8 c++ qt qmake compiler-options

我正在使用qmake和Visual Studio.在发布版本中,qmake将/ GL和/ O2标志添加到所有项目中,我需要为整个Qt项目中的某些库删除这两个标志.有办法吗?

小智 9

我遇到了类似的问题,我通过在.pro文件中添加以下指令解决了这个问题:

QMAKE_CXXFLAGS_RELEASE - = -g

观察_RELEASE后缀,否则不起作用.


Thi*_*cao 5

我使用它来编辑我的.pro文件,它工作了!

QMAKE_CXXFLAGS_RELEASE  -= -Zc:strictStrings
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -Zc:strictStrings
Run Code Online (Sandbox Code Playgroud)

这是行不通的:

QMAKE_CFLAGS_RELEASE -= -Zc:strictStrings
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO -= -Zc:strictStrings
Run Code Online (Sandbox Code Playgroud)

你可以试试:

QMAKE_CXXFLAGS_RELEASE  -= -GL -O2
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -GL -O2
Run Code Online (Sandbox Code Playgroud)

看看:

你的Qt目录\编译器\ mkspecs\win32-msvc2013\qmake.conf


rub*_*nvb 2

唯一可行的方法是

QMAKE_CFLAGS -= /GL /O2
Run Code Online (Sandbox Code Playgroud)

但我怀疑这是否适用QMAKE_CFLAGS

或者,您可以重新定义QMAKE_CFLAGS,忘记它以前的值:

QMAKE_CFLAGS = $$CFLAGS_WITHOUT_GL_O2
Run Code Online (Sandbox Code Playgroud)

  • 尝试了`-=` - 没有运气。第二个解决方案是如此明显,我什至没有想到它:) (3认同)