[Armadillo:05148] Re: ライブラリのコンパイル方法

佐原拓也 email@hidden
2010年 5月 6日 (木) 19:24:49 JST


佐原です。

 ATDE2 をインストールし、2.まで無事できました。
 ありがとうございます。

1. libusbのクロス版を作成&インストール
2. libftdi Version 0.17をarmクロス用にmake&インストール
3. 自分のアプリをmake
  リンク時のオプションに-lftdiをつければいいはず。

 そして
 3.で自分のアプリをmakeしたのですが、最初と同じエラーになりました。
 元のリンク -lftdi2xx をコメントアウトし、-lftdiusb に変更したのですが、
 リンクのオプション設定が間違っていますでしょうか。

Makefileの内容
ここから
# ROOTDIR=/usr/src/atmark-dist-20100310
ifndef ROOTDIR
ROOTDIR ?= ../atmark-dist-20100310
endif
ROMFSDIR =$(ROOTDIR)/romfs
ROMFSINST= romfs-inst.sh
PATH     := $(PATH):$(ROOTDIR)/tools
UCLINUX_BUILD_USER = 1
include $(ROOTDIR)/.config
LIBCDIR = $(CONFIG_LIBCDIR)
include $(ROOTDIR)/config.arch
EXEC = test
OBJS = test.o
all: $(EXEC)
$(EXEC): $(OBJS)
# $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) -lftd2xx
 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) -lftdi
clean:
 -rm -f $(EXEC) *.elf *.gdb *.o *~
romfs:
 $(ROMFSINST) /bin/$(EXEC)
%.o: %.c
 $(CC) -c $(CFLAGS) -o $@ $<
ここまで。

エラーは、最初と以下のように一緒です。
email@hidden:~/test$ make
arm-linux-gnu-gcc    -L../atmark-dist-20100310/lib -o test test.o -lc -lgcc
-lftdi
test.o: In function `ae2_write_ana':
test.c:(.text+0x40): undefined reference to `FT_Write'
test.c:(.text+0x6c): undefined reference to `FT_Write'
test.o: In function `ae2_write_decb':
test.c:(.text+0x1b8): undefined reference to `FT_Write'
test.c:(.text+0x1e4): undefined reference to `FT_Write'
 :上記と同じ繰り返し
collect2: ld returned 1 exit status
make: *** [test] エラー 1
email@hidden:~/test$




> 溝渕です。
>
> > 佐原です。
> >
> >   ATDE3開発環境をインストールしました。
> > まずディフォルトのイメージをビルドしたのですが、以下のエラーになります。
>
> [Armadillo:05129]
> http://lists.atmark-techno.com/pipermail/armadillo/2010-April/005129.html
>
> で書きましたように、Armadillo-500FXで開発を行なう場合にはATDE2開発環境が
> 必要となります。
>
> ATDEインストールガイド(Version 3.0.0)の「1.はじめに」に注意書きがありま
> すが、ATDE3は、Armadillo-400シリーズ専用の開発環境になっています。
>
> [ATDEインストールガイド]
>
> http://armadillo.atmark-techno.com/files/downloads/atde/doc/atde_install_guide_ja-3.0.0.pdf
>
> Armadillo-400シリーズとArmadillo-400を除くArmadilloシリーズではABI
> (Application Binary Interface)が異なるため現状では開発環境も異なっています。
>
> Armadillo-400シリーズ: EABI(Embedded ABI)
> Armadillo-400を除くArmadilloシリーズ: OABI(Old ABI)
>
> 以上です。
>
> > email@hidden:~/atmark-dist-20100310$
> > <mailto:email@hidden:~/atmark-dist-20100310$> make
> > make ARCH=arm CROSS_COMPILE=arm-linux- -C linux-2.6.x  || exit 1
> > make[1]: arm-linux-gcc: コマンドが見つかりませんでした
> > make[1]: ディレクトリ `/home/atmark/linux-2.6.26-at7' に入ります
> >   CHK     include/linux/version.h
> > make[2]: `include/asm-arm/mach-types.h' は更新済みです
> >   CHK     include/linux/utsrelease.h
> >   CC      kernel/bounds.s
> > /bin/sh: arm-linux-gcc: command not found
> > make[2]: *** [kernel/bounds.s] エラー 127
> > make[1]: *** [prepare0] エラー 2
> > make[1]: ディレクトリ `/home/atmark/linux-2.6.26-at7' から出ます
> > make: *** [linux] エラー 1
> >
> > それで、/usr/bin を見ると
> > email@hidden:/usr/bin$ <mailto:email@hidden:/usr/bin$> ls -l arm*
>  > -rwxr-xr-x 1 root root  475540 2010-02-22 13:56
> arm-linux-gnueabi-addr2line
> > -rwxr-xr-x 2 root root  499928 2010-02-22 13:56 arm-linux-gnueabi-ar
> > -rwxr-xr-x 2 root root  878072 2010-02-22 13:56 arm-linux-gnueabi-as
> > -rwxr-xr-x 1 root root  475316 2010-02-22 13:56 arm-linux-gnueabi-c++filt
> > lrwxrwxrwx 1 root root      39 2010-03-02 11:48 arm-linux-gnueabi-cpp ->
> > /etc/alternatives/arm-linux-gnueabi-cpp
> > -rwxr-xr-x 1 root root  200956 2010-02-22 14:28 arm-linux-gnueabi-cpp-4.3
> > lrwxrwxrwx 1 root root      39 2010-03-02 11:48 arm-linux-gnueabi-g++ ->
> > /etc/alternatives/arm-linux-gnueabi-g++
> > -rwxr-xr-x 1 root root  202108 2010-02-22 14:28 arm-linux-gnueabi-g++-4.3
> > lrwxrwxrwx 1 root root      39 2010-03-02 11:48 arm-linux-gnueabi-gcc ->
> > /etc/alternatives/arm-linux-gnueabi-gcc
> > -rwxr-xr-x 1 root root  200028 2010-02-22 14:29 arm-linux-gnueabi-gcc-4.3
> > -rwxr-xr-x 1 root root 2407156 2010-02-22 14:39 arm-linux-gnueabi-gdb
> > -rwxr-xr-x 1 root root 2407156 2010-02-22 14:39 arm-linux-gnueabi-gdbtui
> > -rwxr-xr-x 1 root root  534644 2010-02-22 13:56 arm-linux-gnueabi-gprof
> > -rwxr-xr-x 2 root root  869496 2010-02-22 13:56 arm-linux-gnueabi-ld
> > -rwxr-xr-x 2 root root  483092 2010-02-22 13:56 arm-linux-gnueabi-nm
> > -rwxr-xr-x 2 root root  626548 2010-02-22 13:56 arm-linux-gnueabi-objcopy
> > -rwxr-xr-x 2 root root  750996 2010-02-22 13:56 arm-linux-gnueabi-objdump
> > -rwxr-xr-x 2 root root  499960 2010-02-22 13:56 arm-linux-gnueabi-ranlib
> > -rwxr-xr-x 1 root root  262604 2010-02-22 13:56 arm-linux-gnueabi-readelf
> > -rwxr-xr-x 1 root root  475540 2010-02-22 13:56 arm-linux-gnueabi-size
> > -rwxr-xr-x 1 root root  475508 2010-02-22 13:56 arm-linux-gnueabi-strings
> > -rwxr-xr-x 2 root root  626548 2010-02-22 13:56 arm-linux-gnueabi-strip
> > となっており、arm-linux-gcc はありません。
> >
> > ATDEでない時は、
> > arm-linux-gcc -> arm-linux-gnu-gcc-4.1
> > とシンボリックリンクしたのですが。
> >
> > どうしたらいいのでしょうか?
>
>  _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20100506/d5e84fab/attachment.html>


armadillo メーリングリストの案内