如何在 CMake 文件中添加定义 QT_NO_DEBUG_OUTPUT?
Posted
技术标签:
【中文标题】如何在 CMake 文件中添加定义 QT_NO_DEBUG_OUTPUT?【英文标题】:How to add definition QT_NO_DEBUG_OUTPUT in a CMake file? 【发布时间】:2018-03-17 06:09:16 【问题描述】:我正在使用 ROS,因此编写 CMake 文件。
在 Qt .pro
文件中,我们可以使用:
DEFINE+=QT_NO_DEBUG_OUTPUT
我们如何在 CMake 文件中做到这一点?我试过了:
add_definitions(QT_NO_DEBUG_OUTPUT)
但它给了我以下错误:
c++:错误:QT_NO_DEBUG_OUTPUT:没有这样的文件或目录
【问题讨论】:
试试这个 add_definition(-DQT_NO_DEBUG_OUTPUT) 【参考方案1】:add_definitions
要求您根据编译器语法编写标志:在您的情况下使用-D
(在视觉上将是/D
)。你应该写:
add_definitions(-DQT_NO_DEBUG_OUTPUT)
一种更灵活、更细粒度的方法是使用target_compile_definitions
为每个目标添加定义:
add_executable(foo ...)
target_compile_definitions(foo PUBLIC QT_DEBUG_NO_OUTPUT)
请注意,这里不需要-D
。
【讨论】:
以上是关于如何在 CMake 文件中添加定义 QT_NO_DEBUG_OUTPUT?的主要内容,如果未能解决你的问题,请参考以下文章