Windows Cygwin インストール

Qtをインストールしたものの、コンパイラの設定が必要になり
コンパイラをいろいろと探したが、結局gcc++がよいであろうとなりました。

Windowsgcc++などを使用するには「Cygwin」を使用するみたいだ。
※インストールガイドはこちら

f:id:Takunoji:20170312105453p:plain

ちょいと小さいですが、32ビット、64ビットそれぞれのインストーラがあるようです。
さっそく実行。

f:id:Takunoji:20170312105846p:plain

f:id:Takunoji:20170312105912p:plain

f:id:Takunoji:20170312105928p:plain

間をちょいと割愛しますが、「Select Connection Type」ってのがありました。

f:id:Takunoji:20170312110146p:plain

IEのプロキシを使用しますか?ってことですが、プロキシサーバーなんぞ使っていませんので。。。一番上を選択
f:id:Takunoji:20170312110442p:plain
接続先を聞いてきますが、これも一番上(調べるのがおっくうになりました(笑)
あとはインストール処理が走ります。(セレクトボックス部分でFullを選択)

f:id:Takunoji:20170312110923p:plain

すべて、デフォルトで。。。内容などを理解してから細かいことをやります。。。

f:id:Takunoji:20170312111043p:plain

あとは、そのまま次へを押下。。。でインストール完了

そしてパスを追加

f:id:Takunoji:20170312114558p:plain

f:id:Takunoji:20170312114610p:plain

編集ボタンを押下して「C:\cygwin64\bin」(C直下にインストールした場合)を入力します。
最後にコマンドの実行確認
「ls -l」を実行します。

f:id:Takunoji:20170312115352p:plain

Cygwinインストール完了でございます。。。と思いきや。。。

初めのインストールディレクトリ(フォルダ)に各種コマンド(アプリ)があります。

f:id:Takunoji:20170312134640p:plain

ここのファイルを「Cygwinのコンソール」f:id:Takunoji:20170312134928p:plainを起動して
「/usr/local/contrib/」ディレクトリを切って

libgcc1-5.4.0-1.tar.xzを解凍して、、、

f:id:Takunoji:20170312135315p:plain

それでもできない・・・なんでぢゃ~。。。
インストールするものを選択する画面で、gcc++などを選択してやればOKみたいだ
。。。またインストールに時間がかかる

インストールできました。gccコマンドの確認完了!! 1日使ってしまった。。。

f:id:Takunoji:20170312200438p:plain

結局、インストールするGCCを選択してやらないとだめだった・・・
「Default」の状態だとインストールされないみたいだ

 

Mac OSX libodbc++ インストール

C++でのODBC, JDBC接続用のライブラリ(詳細はこちら)※英語です。。。

下のコマンドでインストールできました。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Qt Creator プロジェクトの初期設定

前回は、プロジェクトを作成しましたがビルドエラーで中断。。。
改めて、セットアップを行いたいと思います。

ダウンロードしたインストーラを起動
初期画面→Next

f:id:Takunoji:20170314214914p:plain

ユーザー登録はあと → Next

f:id:Takunoji:20170314215000p:plain

取り合えずNext

f:id:Takunoji:20170314215027p:plain
インストールはとりあえずC直下 → Next

f:id:Takunoji:20170314215222p:plain

ここで、気をつけないと...(ここでミスったと思われる...)
f:id:Takunoji:20170314215422p:plain
すべてチェックを入れてNext
ここも要チェックやーー!Next
※LPGL→大雑把に公開すれば使ってよい契約ライセンス

f:id:Takunoji:20170314215616p:plain

フォルダー名を作成する見たい Next

f:id:Takunoji:20170314220030p:plain

インストーーーる!!!!

f:id:Takunoji:20170314220128p:plain

再インストール完了
でも、結局変化なし。。。

f:id:Takunoji:20170314224352p:plain

めげずに、Kitを追加して、コンパイラを設定

f:id:Takunoji:20170314224653p:plain

一歩前進!

f:id:Takunoji:20170314224851p:plain

今度は「Makeがみつからない」です。。。

Makeを調べるかな?

 

Qtデザイナーの使い方 作成

前回は、Qtプロジェクトの内容を眺めました
今回は実際に作成に入ろうと思います。Qt5.8を使用しています。

プロジェクトの作成から見直します。※筆者はコンパイルエラーでやり直しました。

f:id:Takunoji:20170311092823p:plain

「新しいプロジェクト」しプロジェクトのタイプ?を選択します。

f:id:Takunoji:20170311093231p:plain

クラス情報を入力します。基底クラスにはQMainWindowを選択しています。
※そのほかにもあります「QWidget, QDialog
QMainWindowは大雑把に以下のような使い方ができるようです。

f:id:Takunoji:20170311093842p:plain

JavaFxにも似たようなものがあります。

docs.oracle.com
引き続き....クラス名に「HanyoGamenAp」を入力し「次へ」~
画面が開いた状態から「ビルド」をかけます。※起動確認というやつです。
やっぱり出ました。ビルドエラー

f:id:Takunoji:20170311094349p:plain

この設定をしていないようなのでこれを直します。
青い文字の通り問題ペインを開きます

f:id:Takunoji:20170311095346p:plain

ここからは、ちょいと長くなりそうなので次回!
Qt初期設定をやっていきます。※下記サイトを参考にします。

Configuring Qt Creator | Qt Creator Manual



 

C++ 標準ライブラリ コンソール出力 Stringクラス1

標準ライブラリの使い方〜コンソール出力と文字列操作1〜

f:id:Takunoji:20170310214224p:plain

(1) std::printfは改行がつかないコンソール出力、std::putsも同様
※ただし、関数などをかましてやるとエラーになった...原因はわかっていません。。。

(2)  Stringクラスの使用、Javaと同じ様に「replace()」を使ってみる
→ replaceの引数が違う、C++ドキュメントを参照する。

なんか、C++の基本的な部分に触れた様な気がする

目標達成アプリ スケジュールの仕方

これは、目標達成アプリ(アナログ版)の説明です。
継続する事で効果が出るものに関するスケジュールの方法です。

あくまで、例なので自分に合ったやり方が良いと思います。

 

①「継続する項目のスケジュール」
1日の生活リズムを見直して行動するタイミングを見つけます。
夕食前に筋トレ⇒夕食、風呂⇒パソコン作業…と行動パターンを作ります

3日実際に試してみてうまく行かない所を直す。⇒3日試して反省してまた3日試して…とPDCAみたいにやります。

日記など記録を付けてやると良い部分と悪い部分を客観的に見直す事が可能になります。

兎にも角にも、継続する為に楽しめる事がキーポイントになります。

②「一歩ずつ進めるもののスケジュール」

とりあえずで、手順ややる順序を決めます。

実際にやってみて良い部分と悪い部分をみて、やり方を改良、カスタマイズしてより良い方法へアップデートして行きます。

これも、日記などで記録を付けてやるとカスタマイズがやりやすいと思います。

 

①と②を同時に進めるには、1週間とか適当な期間を設けて、その期間で継続するのが良いのではないでしょうか。

<例>

①:筋トレ、ウォーキング

②:読書、勉強

とある場合、筋トレと勉強、読書とウォーキングのセットを1日おきにやるなど…

 

人それぞれにベストなやり方があると思います。

Qtデザイナーの使い方

前回に引き続き、Qtでの実装(正確にはソースを見るだけ...)をやります。

まずは、QtCreatorを立ち上げてください(※インストール方法はこちら)

f:id:Takunoji:20170309200630p:plain
上のような画面が表示されます。
少し見ずらいですが、C++のお約束で、「ヘッダファイル」「ソースファイル」と別れています。
フォームはVB.Netと同じ画面(UIフォーム)です。

f:id:Takunoji:20170309201813p:plain

そして、ヘッダファイル

f:id:Takunoji:20170309201631p:plain

ソースファイル

f:id:Takunoji:20170309201650p:plain

起動するためのメインメソッド

f:id:Takunoji:20170309201712p:plain
※クラス名のリンクにはQtのドキュメントページへのリンクがあります
 が、、、全部英語です。。。日本語がほしいですが、いつものことなので(笑)

「ヘッダファイル」
名前空間の「Ui」に「MainWindowクラスを定義」
QMainWindowクラスを継承している「MainWindowクラス」の内容を定義しています。

コンストラクタの定義部分にある「explicit」に関しては
こちらのサイトを参考に勉強さしてもらいました。
→管理者様へ「勉強になりました。」

そして、プライベートで保持しているのが自分自身(MainWindow)

「ソースファイル」
コンストラクタで、引数にあるQwidgetのポインタより自分自身のインスタンスを作成
setupUi()で画面を作成しています。→一番上のフォームで作成した画面が作成される

まとめると、
1.フォームで画面のデザインを作成して
2.MainWindowで画面作成(デザインで表示)のほかデータ取得などの処理を実装

3.コンパイルして起動ファイルを作成して実行

そんな感じで画面の作成をしていきます。
コンパイル後の実行ファイルはクロスプラットフォームに対応しているようです。
(Windowsコンパイル(ビルド)すればWindowsで起動できるしLinuxなら....)

大雑把に作成手順でした。
次は、フォームの作成に着手します。