c++ - 使用 QtCreator 设置 GDB

标签 c++ opencv gdb cmake qt-creator

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

这是 cmake 文件:

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: -DCMAKE_BUILD_TYPE=Debug 。不过QtCreator还是跳过断点,无法正常启动gdb:

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

如何解决这个问题?

最佳答案

转到项目运行并在运行设置中选中在终端中运行框。它将使 QT Creator 在与 gdb 良好配合的 XTerm(默认)内启动程序,并使 &"warning: GDB: Failed to set control terminal: Inappropriate ioctl for device\n" 问题解决离开。

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

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

关于c++ - 使用 QtCreator 设置 GDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26305097/

相关文章:

c++ - gdb 中的 SIG44 是什么?

c++ - 如何解决 "Library not loaded:"问题?

c# - 在 Emgu 或 opencv 中组合多个图像

linux - 如何将核心文件与其关联的可执行文件捆绑在一起?

c++ - 我如何每秒仅处理 2 帧?如何退出 c 或 c++ 中的 while 循环?

c++ - OpenCV:如何创建多边形的 mask ?

debugging - 如何将调试符号添加到剥离的 ELF 二进制文件

php - 在 Windows 上使用 SWIG 编译 PHP 扩展

c++ - 货叉工作

c++ - opencv 3.0 中的 stereoCalibrate() 方法时出现持续错误