プロジェクト作成後、ビルド構成のReleaseを追加したいがエラーになる

こんにちは。

下記の環境でプロジェクトを作成しています。

e2 studio: 2022-1(22.1.0)

マイコン: RL78

コード生成:使用

新規プロジェクト作成時、Configurationsで「Hardware Debug構成を生成」のみチェックを

いれてましたが。Release構成もほしくなりビルド構成で下記を追加したのですが、ビルドエラーになりました。

【エラー内容】

W0561521:Cannot generate section ".option_byte"
E0562310:Undefined external symbol "__STACK_ADDR_END" referenced in ".\generate\cstart.obj"
E0562310:Undefined external symbol "__STACK_ADDR_START" referenced in ".\generate\cstart.obj"

新規プロジェクト作成時に、Configurationsで「Release構成を生成」にチェックをいれた

ビルド構成ではエラーがでませんでした。

プロジェクト作成後、新規プロジェクト作成時の「Release構成」と同じ構成を

プロジェクト途中で生成したい場合はどのようにすればよろしいのでしょうか。

  • MAさん、こんにちは。NoMaYと申します。

    初学者さんかと思うのですけれど、CC-RL/RX/RH向けのe2 studioのHardwareDebugビルドコンフィグレーションは、パソコンの世界でいうところのReleaseビルドコンフィグレーションに相当します。その点は宜しいでしょうか?

    なぜなら、そのHardwareDebugビルドのコンパイル最適化オプションは、パソコンの世界で製品リリースに使われるものと同等の位置付けの最適化レベルになっているからです。

    逆に言うなら、パソコンの世界でのDebugビルド相当のデバッグのやり易さが欲しい場合には、そのHardwareDebugビルドの最適化オプションの設定から最適レベルを落としていく必要があります。

    その上で、

    > プロジェクト途中で生成したい場合はどのようにすればよろしいのでしょうか。

    禅問答のようになってしまいますが、単に、e2 studioが間違って生成したビルドオプションを直せば良い、です。

    e2 studioがどこを間違えたのかを比較的容易に調べる方法として、ビルド時に生成されるrcpcファイルを、正常にビルド出来た場合のものと、エラーになった場合のものとを、WinMergeなどのファイル比較ツールで比較するという方法があります。(CC-RLに詳しい人であれば、ビルドに関するオプションを設定する設定画面をざっと眺める程度で把握出来る場合もあります。)


    あと、

    調べてみないと、とは思いますけれども、コード生成した時に自動的にビルドオプションが補正される場合があるのですけれども、今回、エラーになった場合の手順的に、その補正がされないままになっていた、という可能性はあるかも知れないような気がする、と思いました。(後ほど、試してみようとは思います。)


    [追記]

    すみません、よくよく考えたら、以下のようなことは初学者さんには無理ですよね、、、


    e2 studioがどこを間違えたのかを比較的容易に調べる方法として、ビルド時に生成されるrcpcファイルを、正常にビルド出来た場合のものと、エラーになった場合のものとを、WinMergeなどのファイル比較ツールで比較するという方法があります。


  • NoMaYさん、こんにちは。

    情報ありがとうございます。
    初心者で申し訳ないです。

    >初学者さんかと思うのですけれど、CC-RL/RX/RH向けのe2 studioのHardwareDebugビルドコンフィグレーションは、
    >パソコンの世界でいうところのReleaseビルドコンフィグレーションに相当します。その点は宜しいでしょうか?

    なるほど。理解しました。

    いろいろ試した結果、rcpcファイルを見る前に間違っている箇所を発見し無事解決できました。

    【解決内容】

    1.プロジェクト作成後、デフォルトの構成で「Release」を選択し構成を作成。(投稿時のキャプチャ)

    2.下記の内容が消えているので再設定

       ・インクルードパス

       ・ツールチェーン

       ・Device  ←この設定がわかりませんでした。

    プロジェクトプロパティの「Device」タブを確認すると、グループとデバイスが空白になっていました。

    設定方法がわからずビルドしていました。

    Deviceの設定は、別の場所(プロジェクトメニュー - Change Device)で行うことを発見し解決しました。

    ありがとうございました。

  • > Release構成もほしくなりビルド構成で下記を追加したのですが、ビルドエラーになりました。
    話が戻りますが、
    「既存の構成」(HardwareDebug)をベースに別名(Releaseなど)のビルド構成に複製させる所から始めれば問題なかったかと思います。
    新規にReleaseを作成するとデフォルトの設定で作られるので、ビルドに必要な設定が引き継がれません。