電子書籍の厳選無料作品が豊富!

お世話になっております。
AIX上にてC言語のモジュールをコンパイルしようとしているのですが、下記のとおりエラーがでてしまい、コンパイルできません。

実行コマンド
cc -o XXX XXX.c

エラー
ld: 0711-317 エラー: 未定義のシンボル: .YYYY
ld: 0711-317 エラー: 未定義のシンボル: .ZZZZ
ld: 0711-345 -bloadmap または -bnoquiet オプションを使用して、詳細な情報を得てください。

YYYY関数とZZZZ関数が乗っているヘッダーファイルはXXX.cと同じディレクトリ上に存在しています。
(ヘッダーファイルは某製品についていたものです。)
ヘッダーファイルとXXX.cモジュールが同じディレクトリに存在すれば、
リンクの設定等不要とおもっているのですが、間違えているのでしょうか。

また、設定等が不足している場合、その不足している設定をご教示いただけないでしょうか。

A 回答 (2件)

関数YYYYやZZZZの実体がどこにあるのか、その某製品のマニュアルを読むなり開発元に問い合わせるなりして確認してください。


・ライブラリの中にある場合→ cc -o XXX XXX.c -lzzz
・オブジェクトファイルの中にある場合→ cc -o XXX XXX.c ZZZ.o
・Cソースファイルの中にある場合→ cc -o XXX XXX.c ZZZ.c
zzzやZZZの部分は適宜変更してください。また、ライブラリやオブジェクトファイルがどこにあるか、ディレクトリを指定する必要もあるでしょう。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/06/07 16:24

リンクに必要なのはヘッダファイルではありません。


オブジェクトファイルやライブラリです。
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。
勉強不足でした。

お礼日時:2013/06/07 16:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!