- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リンクエラー)
リンクエラーが発生!未定義のシンボルが原因か?
このQ&Aのポイント
- リンクエラーが発生しており、未定義のシンボルが原因である可能性があります。
- メイクファイルには記述されているが、アーカイブの一覧をみると定義されていないシンボルがあります。
- 質問者はmakeに馴染みがなく、詳細な情報を提供できませんが、推測すると未定義のシンボルの関連が考えられます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
make の話ではなくて、リンク (ld) の話ですね。 > DCS_CHG_WA.a はメイクファイルには記述しています。 > > DCS_CHG_WA.a のアーカイブの一覧をみてもDCSDBWrpAll_WA.oは定義されています。 このエラーメッセージは、DCS_CHG_WA.a にある DCSDBWrpAll_WA.o ファイルで参照している DCLUIcntUsrprdUsrId というシンボル(多分、関数かグローバル変数)が見つからん、 と言ってるのです。 私には、細かいことまでわかりませんが、DCLUIcntUsrprdUsrId が定義してあるオブジェクトを 含むアーカイブファイルを DCS_CHG_WA.a より後に指定してください。 例えば、そのシンボルが DCxxxx.a というファイルに含まれており、同じ DCLIB/tmp に 存在するのであれば cc … /home/mrs_adm/…/DCS_CHG_WA.a /home/mrs_adm/…/DCxxxx.a というように。 シンボルを探すには、nm コマンドが使えます。
お礼
回答ありがとうございます。 おっしゃるとおり、オブジェクトの指定の順番が間違っていたようです。 助かりました。ありがとうございました!