プロジェクト作成後、ビルド構成の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構成」と同じ構成を

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

Parents
  • 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などのファイル比較ツールで比較するという方法があります。


Reply
  • 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などのファイル比較ツールで比較するという方法があります。


Children
No Data