ベアメタル向けのライブラリプロジェクトを追加する

ソリューションに対してライブラリプロジェクトを追加します。追加したライブラリをアプリケーションプロジェクトで使用するための設定を行います。

ベアメタル向けのアプリケーションプロジェクトを作成する で作成したソリューションに対してライブラリを追加します。

プロジェクトの作成

  1. SOLID-IDEのメニューバーから ファイル(F) ‣ 追加(D) ‣ 新しいプロジェクト(N) を選択します。

  2. ベアメタルテンプレート (ARM/AARCH64) を選択します。

  3. 下部の 名前FirstLibrary と入力し、 OK を選択します。

    ../../_images/new-library-dialog.png
  4. KMC独自のウィザードダイアログが表示されます。ウィザードに沿って設定を行います。

    ../../_images/new-library-wizard-1.png

    ソリューション設定で設定した内容を使用しない場合は、 ソリューションプロパティシートの設定を使用しない にチェックを入れ、設定を行います。

    ../../_images/new-library-wizard-2.png

    プロジェクトのタイプスタティックライブラリ を選択します。 プロジェクトテンプレートの選択 に最小構成のプロジェクトを選択します。ライブラリのプロパティシートを出力する にチェックを入れます。

    ../../_images/new-library-wizard-3.png
  5. 新しいプロジェクトが作成され、エディタが開きます。

    ../../_images/new-library-finish.png
  6. アプリケーションがライブラリを使用するようにソースを変更します。FirstProgrammain.c を以下のように書き換えます。

    #include "FirstLibrary.h"
    #include <stdio.h>
    
    int main(int argc, char **argv)
    {
        printf("Hello FirstProgram!\n");
        FirstLibrary();
        return 0;
    }
    

ビルド順序を設定する

プロジェクトの依存関係を設定して、ビルドの順序を決定します。リンクに使用するライブラリプロジェクトを先にビルドさせる場合などに設定を行います。

  1. プロジェクト(P) ‣ プロジェクト依存関係(S) を選択します。

  2. プロジェクトFirstProgram を選択します。

  3. 依存先 リストボックスの libFirstLibrary にチェックを入れ、 OK を選択します。

    ../../_images/project-dependencies-dialog.png
  4. ソリューションをリビルドし、FirstLibrary プロジェクトが先にビルドされることを確認します。

ベアメタルテンプレート独自の動作

ライブラリプロジェクトの名前が lib から始まらない場合、プロジェクト名libプロジェクト名 に変更します。

ライブラリプロジェクトを作成する際に、 ライブラリのプロパティシートを出力する にチェックを入れた場合、ソリューションディレクトリ直下の ImportLibrary ディレクトリにインクルードとリンクの情報を出力します。ただし、プロジェクト同士のビルド順序についてはユーザー自身の手で設定する必要があります。