gpt4 book ai didi

qt - QMake:范围如何工作?

转载 作者:行者123 更新时间:2023-12-04 12:42:54 26 4
gpt4 key购买 nike

由于某些奇怪的原因,我无法在 QMake 中使用范围。这是我的项目文件中的一些代码:

debug {
QMAKE_CXXFLAGS_DEBUG += -g3 -O0
message ("Some debug output")
}

release {
DEFINES += QT_NO_DEBUG
DEFINES += QT_NO_DEBUG_OUTPUT
message ("No debug output")
}

但是当我在 Debug模式下编译它时,这是我得到的 gcc 命令行:
g++ -c -g -g3 -O0 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DLIBPROVERIM_LIBRARY -DQT_NO_DEBUG -DQT_NO_DEBUG_OUTPUT -DWINDOWS -DQT_DLL -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"c:\Qt\2010.05\qt\include\QtCore" -I"c:\Qt\2010.05\qt\include\QtNetwork" -I"c:\Qt\2010.05\qt\include\QtGui" -I"c:\Qt\2010.05\qt\include\QtXml" -I"c:\Qt\2010.05\qt\include\QtSql" -I"c:\Qt\2010.05\qt\include" -I"c:\Qt\2010.05\qt\include\ActiveQt" -I"debug" -I"..\proverim" -I"." -I"c:\Qt\2010.05\qt\mkspecs\win32-g++" -o debug\PForm.o ..\proverim\PForm.cc

请注意,我尝试清理我的项目,以及手动删除生成文件。现在为什么它需要来自两个范围的定义?另外,我没有看到任何消息,它们应该在哪里?

最佳答案

我有同样的问题。为了解决它,我使用了 CONFIG“函数”而不是范围。
.pro 文件的那部分将是:

CONFIG(debug, debug|release) {
QMAKE_CXXFLAGS_DEBUG += -g3 -O0
message("DEBUG!")
} else {
DEFINES += QT_NO_DEBUG
DEFINES += QT_NO_DEBUG_OUTPUT
message("RELEASE!")
}

在一个简单的“HelloWorld”项目中尝试过,一切似乎都正常。

关于qt - QMake:范围如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4428169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com