【发布时间】:2014-10-10 17:41:33
【问题描述】:
我有一个使用 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"
如何解决这个问题?
【问题讨论】:
-
不是 100% 确定,但是 gdb 警告可能与它不起作用无关,它只是意味着 gdb 没有在真正的终端中运行。你能找到实际使用的编译命令,并检查
-g开关真的在那里吗?也很好奇,为什么古-std=c++98?
标签: c++ opencv gdb cmake qt-creator