/* ------------------------------------------------------------------------- Doxygenの解析対象にこのファイルを含めると,ドキュメント表紙に これらの内容が付加されます. このファイルを編集するときはDoxygenのコメントスタイルで記述してください. ---------------------------------------------------------------------------- */ /*! @page download ソースの取得 @section svn 最新および各リビジョンのソース ソースコードのマスターはSourceforge.netのSubversionリポジトリに入っています. チェックアウトにはSubversionクライアントが必要です. - @b チェックアウトURL https://sakura-editor.svn.sourceforge.net/svnroot/sakura-editor/sakura/trunk @section bz2 リリース済みバージョンのソース リリース済みバージョンであれば,本体とともにbz2で圧縮されたものが配布されています. - @b bz2圧縮ファイル http://sourceforge.net/project/showfiles.php?group_id=12488#pkg2_0 */ /*! @page compile コンパイルの方法 コンパイルには以下のうちのいずれかが必要です. -# MS Visual C++ 6.0とMicrosoft Platform SDK -# MS Visual Studio.NET (or 2003, 2005) -# MS Visual C++ Toolkit 2003とMicrosoft Platform SDK -# MS Visual C++ .NET 2005 Express EditionとMicrosoft Platform SDK -# Borland C++ Compiler 5.5.1 (C++ Builder含む)とMicrosoft Platform SDK -# MS Visual C++ .NET 2005 Express EditionとMicrosoft Windows SDK @section vc6 Visual C++ 6.0を使う MS Visual C++ 6.0を使うときはsakura/sakura.dswをDeveloper Studioで開いてください. htmlhelp.hを標準のヘッダファイルとは異なるディレクトリに置いている場合はインクルードファイル の読み込みパスを追加する必要があります. @section vsnet Visual Studio .NET (2003, 2005含む)を使う Visual C++ 6.0と同様にsakura/sakura.dswを開くとプロジェクトを新しい形式に変換するかどうか聞いてきますので, 「はい」を選択して開いてください. @attention VS .NETではプロジェクトファイル形式およびリソース編集結果がVC 6.0使用時と異なります. 個人で編集する分にはそれでもかまわないのですが,パッチの提供をして頂く場合にはリソース編集や プロジェクトへのファイルの追加・削除はVC 6.0の形式に合わせて(すみませんが手動で)編集してください. プロジェクトファイルはVisual C++ 6.0のdsw/dsp形式で提供されていて,ソースファイルが追加になるとそれらも変更されます.しかし,一旦.slnに変換した後はdspが参照されないため,ファイルが追加された場合は.slnを削除して再度dspより変換する必要があります. Visual Studio .NET 2003に附属の(最新でない) SDKに含まれているNewApis.hのバグを修正しないとコンパイルエラーとなります. 関数 Probe_GetLongPathName()において @par 誤: BOOL (CALLBACK *RealGetLongPathName)(LPCTSTR, LPTSTR, DWORD); @par 正: DWORD (CALLBACK *RealGetLongPathName)(LPCTSTR, LPTSTR, DWORD); @section toolkit Visual C++ Toolkit 2003を使う Visual C++ Toolkit 2003は特に選択肢がないので標準設定でインストールしてください. Platform SDKは32bit環境のツール,ヘッダ,ライブラリに加えてWin64環境用のツールをインストールしてください. (nmakeがWin64環境にしか入っていないため).Win64用のツールはクロスコンパイルツールと思われますが, nmakeはそれ自身がバイナリを生成する物ではないのでWin32 用ソフトウェアでも使えます. 事前に環境変数PATH,INCLUDE,LIBを適切に設定する必要があります.Rev#954以降ではバッチファイルのひな形が sakura/Toolkit2003Env.bat.tmpl として入っていますので,必要に応じてパスを書き換えた上で拡張子を batに変更してご利用ください. Rev#954以降ではBCC/VC共用Makefileになりました. 依存関係が記述されていませんので,ヘッダファイルのみ修正してmakeすると不完全なファイルができてしまいます. 申し訳ありませんがヘッダファイルを変更したときは,nmake clean,nmakeで始めからやり直してください. @section express Visual C++ .NET 2005 Express Editionを使う 基本的な使い方は通常のVisual Studioと同じですが,SDKが標準では入っていないため別途インストールする必要があります. @subsection sdk with Platform SDK Plaform SDKの設定方法は http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/ に 説明がありますが,手順3でInclude ファイルにはC:\\Program Files\\Microsoft Platform SDK\\includeに加えて C:\\Program Files\\Microsoft Platform SDK\\include\\mfc及び C:\\Program Files\\Microsoft Platform SDK\\Include\\crtも追加してください. 設定が完了したらVisual Stuidio同様にプロジェクトファイルを変換後,ビルドを行ってください. @attention VisualStudio .NET 2005で作られたバイナリは,Kernel32.dllのIsDebuggerPresent() を参照しにいくようになるため,Win95 では動作しなくなります. @subsection vista with Microsoft Windows SDK for Vista Microsoftから.NET 3.0を含むMicrosoft SDK for Vistaというものがリリースされています. Vista対応のAPIを使うためにはこれが必要なようです. このSDKはWindows 95/98のことは考慮されていないようで,Platform SDKに入っている互換性維持のため のヘッダ(NewApi.h)が含まれていません.そのため一部ソースコードの修正が必要となります. (エラーになった#include文を削除するだけですが.) コンパイルしたバイナリは過去のウィンドウズでは 動作しないものとなります. また,ディレクトリ構成がPlatform SDKとは異なりますので,コマンドラインでコンパイルする場合には 付属のバッチファイルを修正する必要があります. @section bcc Borland C++ Compiler (またはC++ Builder)を使う 新しいPlatform SDKのファイルが必要なため,bcc32.cfgのインクルードパスの最後に -I(bccの既存のinclude);"C:\\Program Files\\Microsoft Platform SDK\\Include" とPlatform SDKを加えてください.bccのincludeより前に記述するとコンパイルエラーとなりますので注意してください. sakura ディレクトリにてmake -aでコンパイルができます.sakura.exeという単一の実行ファイルが生成されます. 最後の"-a"は依存関係を自動的に調べるオプションで,Borland C++付属のmakeでのみ有効です. リソースファイル(MS Visual Studioにて作成)をBorland C++のリソースコンパイラが理解できる形に修正するツールが btoolディレクトリに含まれています.これはmakeの過程で自動的にコンパイルされて使われます. @section toupper コンパイラの違いによる注意 toupperに2バイト文字を与えたときの振る舞いがVisual C++とBorland C++で異なります. この違いはstricmp, memicmpにも効いてきます.Borland C++はlocaleがJapaneseの場合に2バイト文字の一部 に対するtoupperに0を返すため,そこで比較が終わってしまい期待する結果が得られません. */ /*! @page license ソースコードのライセンス @section use ソースコードは勝手に使っていいの? オープンソース版とは言いながらもこのソフトには明確なライセンスが定められていません. 当初はGPLにする予定だったのですが,GPLの制約が外部ライブラリと衝突するなど問題があり,現在は行き詰まっています. ソースコードの著作権はそれぞれの作者が留保していますので,現時点では該当箇所の著作権保持者に 個別に連絡を取っていただくしかありません. 一部zlib/libpngライセンスと書かれた部分はそれに従って再利用していただいてかまいません. */ /*! @mainpage @section source ソースコードについて - @subpage download - @subpage compile - @subpage license @section link 関連サイト - @b ProjectHome http://sourceforge.net/projects/sakura-editor/ - @b 一次配布サイト http://members.at.infoseek.co.jp/sakura_editor/ - @b UsersWiki http://sakura.qp.land.to/ - @b PatchesTracker http://sourceforge.net/tracker/?atid=312488&group_id=12488&func=browse - @b FileRelease http://sourceforge.net/project/showfiles.php?group_id=12488 - @b Subversion http://sakura-editor.svn.sourceforge.net/viewvc/sakura-editor/ - @b Krugle http://sourceforge.krugle.com/kse/files?project=%22Sakura%20Editor%22 - @b 開発者向けWiki http://sakura-editor.wiki.sourceforge.net/ - @b 一般掲示板 http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=data - @b 開発掲示板 http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=dev */