プロが教えるわが家の防犯対策術!

eclipseについて質問です.

現在eclipseでcのプログラムを書こうとしています.
そこで,csvファイルを読み込みたいのですが,以下のようなエラーが出てしまいます.
リンクエラーだということはわかるのですが,解決法がよくわからず詰まっています.
わかる方,いらっしゃいましたら回答をお願いいたします.

c:/program files (x86)/eclipse/sourcery_codebench_lite_for_arm_eabi/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-fstatr.o): In function `_fstat_r':
fstatr.c:(.text+0x14): undefined reference to `_fstat'
c:/program files (x86)/eclipse/sourcery_codebench_lite_for_arm_eabi/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-openr.o): In function `_open_r':
openr.c:(.text+0x16): undefined reference to `_open'
c:/program files (x86)/eclipse/sourcery_codebench_lite_for_arm_eabi/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-writer.o): In function `_write_r':
writer.c:(.text+0x16): undefined reference to `_write'
c:/program files (x86)/eclipse/sourcery_codebench_lite_for_arm_eabi/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-closer.o): In function `_close_r':
closer.c:(.text+0x12): undefined reference to `_close'
c:/program files (x86)/eclipse/sourcery_codebench_lite_for_arm_eabi/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-isattyr.o): In function `_isatty_r':
isattyr.c:(.text+0x12): undefined reference to `_isatty'
c:/program files (x86)/eclipse/sourcery_codebench_lite_for_arm_eabi/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-lseekr.o): In function `_lseek_r':
lseekr.c:(.text+0x16): undefined reference to `_lseek'
c:/program files (x86)/eclipse/sourcery_codebench_lite_for_arm_eabi/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-readr.o): In function `_read_r':
readr.c:(.text+0x16): undefined reference to `_read'
collect2.exe: error: ld returned 1 exit status

A 回答 (2件)

クロスコンパイルだよね。


ターゲットの基本ライブラリが構成できてないのではない?
エラーで定義されていないと書いてるのがUNIXシステムコール関数ばかりだし、その呼び出し元はlibc.aの対応関数のリエントラント版だ。
ターゲットOSのシステムコールに合わせてライブラリを事前に構成しておくか、あるいはコンパイル時にターゲットのOSなんかを指定しておかないといけないんじゃない?
    • good
    • 1
この回答へのお礼

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

お礼日時:2016/11/28 10:23

> fstatr.c:(.text+0x14): undefined reference to `_fstat'


> openr.c:(.text+0x16): undefined reference to `_open'
> writer.c:(.text+0x16): undefined reference to `_write'
> closer.c:(.text+0x12): undefined reference to `_close'
> isattyr.c:(.text+0x12): undefined reference to `_isatty'
> lseekr.c:(.text+0x16): undefined reference to `_lseek'
> readr.c:(.text+0x16): undefined reference to `_read'

 コンパイル時のエラーですね。
 上記が全てです。。。
 undefined reference to の後に示された関数が定義されていないと言っています。
 C言語プログラムの中でファイルI/Oを行いたいのですよね?
 必要なヘッダーファイルをincliudeしていますか?
 C言語ライブラリのパスは正しく設定できていますか?

参考まで。
    • good
    • 0
この回答へのお礼

回答ありがとうございます.

ヘッダファイルのincludeはしているつもりなのですが,もしincludeし足りないファイルがあるとしたら,それがどれなのかわからない状況です.

お礼日時:2016/11/24 15:12

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