FAQ 1011127 : RL78/78K0Rコンパイラ(CA78K0R)を使用していますが、変数のセクションを変更するために、#pragma section を使用すると次のWarning(警告)メッセージが表示され、オブジェクトファイルが作成されずにリンク時にエラーになります。エラーをの解決方法を教えてください。

Warning(警告)メッセージ

W0837 Output assembler source file, not object file

プログラムの記述

#pragma section @@DATA DATA1
int b;
#pragma section @@DATA @@DATA

回答

Cソースファイル本文記述後に、#pragma section指令を行った場合、オブジェクトモジュールファイルは作成されず、アセンブラソースファイルが作成されます。

Warning(警告)メッセージW0837は、オブジェクトモジュールファイル作成指定オプション-O が指定されていてもオブジェクトファイル(*.REL)を出力せずに、アセンブラソース(*.ASM)を出力することを通知するメッセージです。
そのため、リンクの際にオブジェクトモジュールファイルが存在しないためにビルドで失敗します。

コンパイラオプションの設定で、アセンブラソースファイル出力する-SA、または-Aオプションを指定してください。

CS+の場合には、ビルドツールのプロパティの「コンパイル・オプション」タブの「アセンブリ・ファイルを出力する」を「いいえ」以外に設定してください。

適用製品

CS+ (旧 CubeSuite+)
RL78、78Kファミリ用Cコンパイラパッケージ
RL78ファミリ, 78K0R用コンパイラ [CA78K0R]
他にご質問がございましたら、リクエストを送信してください