web-dev-qa-db-ja.com

QtCreatorでGDBをセットアップする

OpenCVとcmakeを使用した単純なプロジェクトがあり、segmentation.hとsegmentation.cppの2つのソースファイルしかありません。

これが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に送信してデバッグビルドを作成しました:-DCMAKE_BUILD_TYPE = Debug。ただし、QtCreatorはまだブレークポイントをスキップし、gdbを正しく起動できません。

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

この問題を解決するにはどうすればよいですか?

13
Dzung Nguyen

プロジェクト実行に移動し、実行設定でターミナルで実行というチェックボックスをオンにします。これにより、QT Creatorはgdbとうまく連携するXTerm(デフォルト)内でプログラムを起動し、& "警告:GDB:制御端末の設定に失敗しました:デバイスに不適切なioctl\n"問題が発生します離れて。

デフォルトでは、デバッガーを起動すると、QT Creatorもフォアグラウンドになり、起動されたターミナルが非表示になります。この動作を停止するには、ツールオプションデバッガーに移動します。 Generalタブで、アプリケーションが中断したときにQt Creatorをフォアグラウンドにするというチェックボックスをオフにします。

ターミナルを変更したい場合は、オプション環境で行うことができます。 システムセクションでターミナルあなたが望むものに。ネイティブUbuntu/Gnomeターミナルの場合は、/ usr/bin/gnome-terminal -xに設定します。この設定のパラメータは、外部コマンドまたはプログラムを実行するように端末に指示する必要があります。

18
Vinnie