使用QtCreator设置GDB

时间:2014-10-10 17:41:33

标签: c++ opencv gdb cmake qt-creator

我有一个使用OpenCV和cmake的简单项目,并且有两个源文件,只有segmentation.h和segmentation.cpp。

这是cmakefile:

project(Segment)
cmake_minimum_required(VERSION 2.8)

SET(CMAKE_BUILD_TYPE Debug)
SET(CMAKE_VERBOSE_MAKEFILE true)

if(CMAKE_COMPILER_IS_GNUCXX)
    message(STATUS "GCC detected, adding compile flags")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -g -std=c++98 -Wall")
endif(CMAKE_COMPILER_IS_GNUCXX)

find_package(OpenCV REQUIRED)
add_executable(Lulu segmentation.cpp segmentation.h)
target_link_libraries(Lulu ${OpenCV_LIBS})

我使用发送到cmake的参数创建了一个Debug构建:-DCMAKE_BUILD_TYPE = Debug。但是QtCreator仍然会跳过断点,并且无法正常启动gdb:

&"warning: GDB: Failed to set controlling terminal: Inappropriate ioctl for device\n"

如何解决这个问题?

1 个答案:

答案 0 :(得分:17)

转到项目运行,然后在运行设置中选中在终端中运行框。这将使QT Creator在XTerm(默认)内启动该程序,该程序与gdb一起运行并且使&"警告:GDB:设置控制终端失败:设备不适当的ioctl \ n" 问题消失了。

默认情况下,启动调试器时,它还会将QT Creator带到前台,从而隐藏启动的终端。要停止此行为,请转到:工具选项调试程序。在常规标签中,取消选中在应用程序中断时将Qt Creator置于前台的复选框。

如果您想更改终端,可以在选项环境中进行更改。在系统部分,终端即可。对于本机Ubuntu / Gnome终端,请将其设置为 / usr / bin / gnome-terminal -x 。此设置中的参数必须告诉终端执行外部命令或程序。