狠狠撸

狠狠撸Share a Scribd company logo
C++アプリを Cmake と Eclipse で開発するお話
はしもとまさ@東海道らぐ
12月名古屋オフ
2015/12/26
自己紹介
●
東海道らぐ元名古屋案内人です
– 現在は関東地方担当。
●
ちびぎーこ保護者会(別名:日本openSUSEユーザ会)の人
– 冬コミ原稿書きました! (12/31 東「メ」36b)
…ん? またうち売り子やるの???
●
おーぷん万葉プロジェクトやってます!
GenjiではCmakeとEclipseを利用して開発してます
さて、今日は開発環境のお話
C++で開発しているかな漢字変換です
開発環境構築手順はこんな感じ
1.ソースディレクトリにCmakeLists.txtを配置
2.cmakeコマンドでEclipseプロジェクトを作成
3.Eclipseでgdbを動かしてデバッグ!
(C++11を利用)
結局この手順に落ち着いた^^
1. CmakeLists.txt の作成
cmake_minimum_required(VERSION 2.8)
PROJECT(Genji)
#select the release build type by default to get optimization flags
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
message(STATUS "Build type not specified: defaulting to release.")
endif(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
else()
message(STATUS "${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++
compiler.")
endif()
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include)
ADD_SUBDIRECTORY(lib/fujitsubo)
#ADD_SUBDIRECTORY(lib/murasaki)
ADD_SUBDIRECTORY(lib/aoi)
ADD_SUBDIRECTORY(src)
おまじない1
おまじない2
1. CmakeLists.txt おまじない1
gdbでデバッグをするためのおまじない
#select the release build type by default to get optimization flags
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
message(STATUS "Build type not specified: defaulting to release.")
endif(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
CMAKE_BUILD_TYPE の指定がなければ
「Release」に設定するよ?というおまじない
※Eclipseプロジェクト作成時に使用します(後述)
1. CmakeLists.txt のおまじない2
次は C++11 を利用するためのおまじない
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
else()
message(STATUS "${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++
compiler.")
endif()
コンパイラが C++11 をサポートしてるかチェックして
サポートしてたらフラグをセットするよ?
というおまじない
2. Eclipseプロジェクトの作成
CmakeコマンドでEclipseプロジェクトを作成します
この辺りちとめんどい^^;;;
# Eclipse用のWorkディレクトリを作成
mkdir GenjiWork; cd GenjiWork
# Cmakeコマンドでプロジェクトを作成
cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ../Genji
Eclipseのプロジェクトを作成しますよ?
というおまじない
これ設定しないとEclipseでgdbが動かない!
あとはEclipseで作成したプロジェクトを
インポートして完了?
CmakeLists.txt のあるディレクトリを指定
3. Eclipse + gdb でデバッグ!
…の前にこの設定しないとEclipseのエディタが
「こんな関数知らん」と怒り出す(ビルドは通る^^;)
1. プロジェクトのプロパティを開いて
「C/C++ General」
> 「Preprocessor Include Path ...」を選択
2. 「Providers」を選択
3. 「CDT GCC Build-in Compiler Settings」
の末尾に「-std=c++11」を追加
→「CDT GCC Build-in Compiler Settings」を
Providersメニューの一番上に持っていく
どや、简単やろ!!!(ぇ
ご清聴、ありがとうございました!

More Related Content

颁++アプリを颁尘补办别と贰肠濒颈辫蝉别で开発するお话