CC-RX Ver 3.06.00 の rlink エラーF0573300

当方、プロジェクトの開始時期に応じて cc-rx を使い分けている関係で CS+ の統合ビルド環境は使わずに ver3.01.00 や ver3.02.00 等を「バッチファイル」ないしは「シェルスクリプト」にて設定を切り替えたうえで cmd / bash ウィンドウを開いてそのうえでビルドしています。今の最新 cc-rx ver3.06.00 を使うと rlink でエラーが出るのですが、何かわかる人はいますか?

rlink -nologo ... 以下略: -noprelink は指定していません

F0573300:Cannot open file : "Files"
F0573300:Cannot open file : "(x86)\Renesas"

F0573300:Cannot open file : "Electronics\CS+\CC-RX\V3.06.00\bin\prelnk.exe"

リンク自体は成功。

開発環境は Windows 10 Pro x64 22H2 で

CS+ や cc-rx のインストール先は "C:\Program Files (x86)\Renesas Electronics\CS+\CC-RX" となっています(標準値)。

cc-rx ver 3.06.00 で環境変数 INC_RX や BIN_RX の設定がいらなくなったようなのですが、当方 3.03.00 や 3.05.00 も併用している関係で

ccrx306.bat

set BIN_RX=C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RX\V3.06.00\bin
set INC_RX=C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RX\V3.06.00\include
Path=C:\Windows\system32;C:\Windows;[中略]C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RX\V3.06.00\bin;[後略]

なるファイルを作って cmd /k ccrx306 とした後、自作 Makefile から make -j8 等するとこの挙動になります。

同一のビルド環境にて cc-rx 3.05.00 以前はこのエラーは出ていません。

ちなみにですが -noprelink を指定するとエラーでなくなります。なおかつ現状のコードでは prelnk を起動するしないに関係なく同一バイナリが得られます。なのでさほど困らないのですが、毎回エラーメッセージ出るのがダメで、新規プロジェクトを 3.06.00 に移行できないでいます。(既存プロジェクトはコンパイラバージョン変えない主義です)

Parents
  • コンパイラのインストールフォルダに空白文字やマルチバイト文字列などが含まれていることが原因になっているかも。場合によってはシェル環境を変更するとちゃんと動くようになるかもしれません。

  • subst w: C:\Program Files (x86)\Renesas Electronics

    として PATH を w: に書き換えると動くのは、実はすでに確認済みです。

    v3.06.00 リリースノートを見る限り

    https://www.renesas.com/jp/ja/document/tnr/upgrade-revision-cc-compiler-package-rx-family-v30600

    正直なところ緊急にリビジョンアップしなければならない内容とも思えないので、そこまでして使う必要もないかなと判断しています。なのでこのスレッドの主張はインストーラが標準で自動選択する「空白文字を含むインストールフォルダ」上にインストールしても正しく動くように修正してほしいなーだったり・・・

    cc-rx v3.06.01 リリースノートを見るとバージョンアップしたくなるような項目がありますが、残念ながら Windows 版はまだ提供されていないという。

  • デフォルトがProgram Filesだからといって、そこにインストールしなければならない訳でもないでしょう。
    コマンドで実行するなら、もっと都合の良いパスにインストールし直した方が簡単なのでは。

Reply
  • デフォルトがProgram Filesだからといって、そこにインストールしなければならない訳でもないでしょう。
    コマンドで実行するなら、もっと都合の良いパスにインストールし直した方が簡単なのでは。

Children
No Data