パソコンでプログラミングしよう ウィンドウズC++プログラミング環境の構築
1.6.3.6(15)
プロジェクトの修正

KTxtEditの高機能化にあたりプロジェクトに必要ファイルを追加していくつかの設定を修正する。

プログラミング手順

  1. Scintillaのビルド
  2. 必要ファイルの追加
  3. 設定の修正
  4. リポジトリ更新とビルドテスト

Scintillaのビルド

新バージョンはテキストコントロールにScintillaコンポーネントを使用する。未導入ならScintillaをビルドするに従い最新版をビルドする。wxWidgetsライブラリにはwxStyledTextCtrlというScintillaラッパーコントロールが存在するが本サイトは使用しない。

必要ファイルの追加

ScintillaコンポーネントをwxWidgetsで利用するため自作の薄いラッパーコントロールを使用する。TMyScintilla.hTMyScintilla.cppをプロジェクトディレクトリにコピーあるいは作成する。Scintilla内部は8ビット文字コードに限定され本サイトはデフォルトUTF-8を用いる。旧バージョンに倣いファイルストリームバッファで文字コード変換するが、N:M変換の安全性への対応が必要になる。TMyFileBuf.hをプロジェクトディレクトリにコピーあるいは作成する。追加した3ファイルは[Project|Add files]で全ターゲットに追加する。

設定の修正

Scintillaライブラリファイルを追加するが、その結果としてウィンドウズAPIライブラリファイルの追加も必要となる。特に理由は無いがScintillaのそれはターゲットオプションに追加し、ウィンドウズAPIのそれはプロジェクトオプションに追加する。[Project|Build options]で[Project build options]ダイアログを開き設定する。

ノード 追加ライブラリファイル
プロジェクト KTxtEdit libImm32.a, libmsimg32.a
ターゲット Debug32 libscintilla.a, liblexilla.a
Release32
Debug64
Release64

同ダイアログでScintillaインクルードファイルとライブラリファイルの探索パスを追加する。

ページ Debug32 Release32 Debug64 Release64
[Compiler] C:\Scintilla\scintilla531\include
C:\Scintilla\scintilla531\win32
C:\Scintilla\lexilla520\include
[Linker] C:\Scintilla\scintilla531\my_builds\debug32\lib ...\release32\lib ...\debug64\lib ... \release64\lib
C:\Scintilla\lexilla520\my_builds\debug32\lib ...\release32\lib ...\debug64\lib ... \release64\lib
[Resource compiler] C:\Scintilla\scintilla531\include
C:\Scintilla\scintilla531\win32
C:\Scintilla\lexilla520\include

リポジトリ更新とビルドテスト

Git for Windowsリポジトリを更新する。ビルド実行しても良いが、プロジェクトは追加ファイル未参照なのでコンパイル確認に留まる。

UMLクラス図

追加ファイル未参照なので記述は省略する。