-
-
Notifications
You must be signed in to change notification settings - Fork 43
HowToBuild
- Windows 8.1以降
- .NET Framework 3.5
- Visual Studio 2022 (except xp)
- Workloads
- Desktop development with C++
- MSVC v143 - VS 2022 C++ x64/x86 build tools (latest)
- Windows 11 SDK (10.0.22000.0)
- Desktop development with C++
- Individual components
- Git for Windows
- MSBuild
- Language packs
- English
- Workloads
- Visual Studio 2019 (xp only)
- Workloads
- Desktop development with C++
- MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.26)
- Windows 10 SDK (10.0.19041.0)
- Desktop development with C++
- Individual components
- Git for Windows
- MSBuild
- Language packs
- English
- Workloads
- Boost.Regex
- GSL: Guidelines Support Library (except xp)
- HTML Help Workshop
- Wix Toolset
- Wix Toolset Visual Studio 2022 Extension (except xp)
- Wix Toolset Visual Studio 2019 Extension (xp only)
インストーラープロジェクトのビルドには.NET Framework 3.5が必要です。標準でインストールされていないので注意してください。ただし、.NET Framework 3.5が未インストールであってもビルドに支障ない場合もあるようです。
C++20 / C++23の機能を使用するため、Visual Studio 2022最新版が必要です。Updateを適用し最新版を使用してください。MSVC v143 - VS 2022 C++ x64/x86 build toolsとWindows 11 SDKは順次バージョンが上がるため、記載のものでなく最新のものを選択してください。Updateを適用し最新版を使用してください。大事なことなので二回言いました。
なお、xpブランチのビルドにはVisual Studio 2019の MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.26) および Windows 10 SDK(10.0.19041.0) が必要です。理由はVisual Studio 2019のMSVC v142 - VS 2019 C++ x64/x86 build tools (v14.27)以降ではWindows XPで動作しないバイナリが生成されるためです。同様にWindows 10 SDK(10.0.20348.0)以降でもWindows XPで動作しないバイナリが生成されるためです。
正規表現エンジンとしてBoost.Regexを使用しています。これは標準ライブラリ<regex>
にパフォーマンス上の問題があるためです。
git submoduleによりソースツリーは統合されています。git clone --recursive
でクローンすることで、ビルド準備は完了します。
C++ Core Guidelinesに従うための支援ライブラリとしてGSL: Guidelines Support Libraryを使用しています。
git submoduleによりソースツリーは統合されています。git clone --recursive
でクローンすることで、ビルド準備は完了します。
ヘルプ(.chm)のビルドにHTML Help Workshopを使用しています。しかし、現在、MicrosoftではHTML Help Workshopの配布を停止しています。
インストーラーのビルドにはWix Tootlsetを使用しています。依存関係の都合から、WiX Toolset build toolsはリポジトリ内のWiX
ディレクトリに配置してあります。そのため、ビルドには特別な手順は必要ありません。
ffftpのリポジトリがC:\Path\to\ffftp
と仮定します。適宜読み替えてください。Developper PowerShell for VS 2019 上で次のコマンドを実行します。
PS C:> git clone --recursive https://github.com/ffftp/ffftp.git C:/Path/to/ffftp
PS C:> cd C:\Path\to\ffftp
PS C:\Path\to\ffftp> MSBuild ffftp.sln /p:Configuration=Release /p:Platform=Win32
PS C:\Path\to\ffftp> MSBuild ffftp.sln /p:Configuration=Release /p:Platform=x64
コンパイルの後、インストーラーが作成されます。Release
ディレクトリにffftp-x86.msi
、ffftp-x86.zip
、ffftp-x64.msi
、ffftp-x64.zip
が生成されます。
Visual Studioでffftp.sln
を開いてください。
インストーラープロジェクトを参照するためには拡張機能のWix Toolset Visual Studio 2022 Extensionをインストールする必要があります。
文字列はstd::wstring
へ移行完了しました。char*
の文字コードはサーバやファイルなど入力次第であり、Windows標準のANSI(日本語ではShift-JIS)やUTF-8などの場合があります。注意して操作してください。