ツールチェーンの変更

ここではツールチェーンの変更方法について説明します。

既定のツールチェーンを変更する

既定のツールチェーンは、IDEの起動時に選択されるツールチェーンです。

SOLID-IDEの ヘルプ(H) ‣ exeGCC環境変数の変更 をクリックします。

ツールチェーン変更ツールの起動

SOLID-IDEの終了を待つダイアログが表示されます。編集中のファイルを保存し、SOLID-IDEをすべて終了してから 再試行 をクリックします。

SOLID-IDEの終了確認

ツールチェーン変更ツールでは、ツールチェーンごとにバージョンを指定できます。

ツールチェーン変更ツール

ソリューションのツールチェーンを変更する

この指定方法は、ソリューションに対してプロジェクトが複数あるなど、プロジェクト単位での設定が面倒なときに便利です。

OverridePlatformToolset.props という名前で、以下の内容のファイルを作成してください。

すべての環境でs002を指定する場合

別のバージョンのツールチェーンに変更するには、<PlatformToolset> ... </PlatformToolset> 内の s002 を目的のバージョンに変更してください。

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Condition="'$(PlatformToolset)'=='exeClang_SOLID'">
    <PlatformToolset>exeClang_SOLID_s002</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(PlatformToolset)'=='exeGCC_SOLID'">
    <PlatformToolset>exeGCC_SOLID_s002</PlatformToolset>
  </PropertyGroup>
</Project>

プラットフォームごとに別のツールチェーンを指定する場合

以下の例では、ARMの場合にs002、AArch64ではs005を指定しています。

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Condition="'$(Platform)|$(PlatformToolset)'=='KMC_SOLID_v7A_ARM|exeClang_SOLID'">
    <PlatformToolset>exeClang_SOLID_s002</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Platform)|$(PlatformToolset)'=='KMC_SOLID_v7A_ARM|exeGCC_SOLID'">
    <PlatformToolset>exeGCC_SOLID_s002</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Platform)|$(PlatformToolset)'=='KMC_SOLID_v8A_AArch64|exeClang_SOLID'">
    <PlatformToolset>exeClang_SOLID_s005</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Platform)|$(PlatformToolset)'=='KMC_SOLID_v8A_AArch64|exeGCC_SOLID'">
    <PlatformToolset>exeGCC_SOLID_s005</PlatformToolset>
  </PropertyGroup>
</Project>

次に、Directory.Build.props という名前で、以下の内容のファイルを作成します。

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)..\', 'Directory.Build.props'))\Directory.Build.props" />
    <PropertyGroup>
    <ForceImportBeforeCppProps>$(SolutionDir)OverridePlatformToolset.props</ForceImportBeforeCppProps>
  </PropertyGroup>
</Project>

作成した2つのファイルを、ツールチェーンのバージョンを指定したいプロジェクトのあるディレクトリに配置してください。

注釈

プロジェクト単位の指定よりも、本設定が優先されます。

プロジェクトのツールチェーンを変更する

注釈

本手法は主にベアメタルソフトウェア開発に使います。 SOLID-OS環境では、既定のツールチェーンを変更するソリューションのツールチェーンを変更するを使用してください。

変更したいプロジェクトのプロパティを開きます。

プロパティの表示

構成プロパティ ‣ 全般 ‣ プラットフォームツールセット でツールチェーンを変更します。

ツールチェーンの変更