我有一个使用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"
如何解决这个问题?
Go to Project, Run并在运行设置中选中显示的框在终端中运行。它将使 QT Creator 在 XTerm(默认)中启动程序,该程序与 gdb 配合良好,并使&“警告:GDB:无法设置控制终端:设备的 ioctl 不合适\n”问题消失。
默认情况下,启动调试器时,它还会将 QT Creator 带到前台,从而隐藏启动的终端。要停止此行为,请转到:Tools, Options, Debugger。在里面General选项卡,取消选中显示的复选框当应用程序中断时将 Qt Creator 置于前台.
如果您想更改终端,可以在Options, 环境。在里面System部分Terminal到你想要的。对于本机 Ubuntu / Gnome 终端,将其设置为/usr/bin/gnome-terminal -x。此设置中的参数必须告诉终端执行外部命令或程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)