如何在CMake文件中添加定义QT_NO_DEBUG_OUTPUT?

时间:2018-03-17 06:09:16

标签: c++ qt cmake

我正在使用ROS,因此编写CMake文件。 在Qt .pro文件中,我们可以使用:

DEFINE+=QT_NO_DEBUG_OUTPUT

我们如何在CMake文件中执行此操作?我试过了:

add_definitions(QT_NO_DEBUG_OUTPUT)

但是它给了我以下错误:

  

c ++:错误:QT_NO_DEBUG_OUTPUT:没有这样的文件或目录

1 个答案:

答案 0 :(得分: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