Hello,
I received a TS-TPC-8390 socket with a TS-4700 macrocontroller and was happy to
see that unlike my previous TS-7390, the board actually comes with an
up-to-date Debian distribution, linked to EmDebian, using EABI binaries and
everything.
My goal is to build my application using the supplied crosstool (arm-2008q3 in
TS FTP). I installed it and managed to get a "hello world" working right away.
My problem actually relies on shared libraries such as BOOST, SDL and TSLIB.
Boost builded with no problem since it don't require external dependencies. I
then went on the board itself and used apt-get to download the rest, and copied
the entire /usr/lib and /usr/include folders to a USB key to re-copy to the
crosstool directory.
That's where I'm mixed up.
First, where should I copy my shared libs/include files to be referenced?
There's a lot of already created /lib and /include folders:
arm-2008q3/
arm-2008q3/arm-none-linux-gnueabi/
arm-2008q3/arm-none-linux-gnueabi/libc/
arm-2008q3/arm-none-linux-gnueabi/libc/usr/
I used the second one but that's just a wild guess.
Then, what is the difference between the 2 versions of GCC binaries in the
crosstool paths? I use arm-none-linux-gnueabi-gcc, but is the other any use?:
arm-2008q3/bin/arm-none-linux-gnueabi-gcc
arm-2008q3/arm-none-linux-gnueabi/bin/gcc
So when creating the makefile for my application, I reference the complete path
for everything (note that [...] is my base path omitted to make it easier to
read):
CC=[...]/arm-2008q3/bin/arm-none-linux-gnueabi-g++
For the include files I use
CFLAGS=-c -O2 [...] -I[...]/arm-2008q3/arm-none-linux-gnueabi/include
When I create some static link files (I need to) I use directly
[...]/arm-2008q3/bin/arm-none-linux-gnueabi-ar rcs $(OUTLIB) $(SOURCES)
Up to now every works and I get usable .a and .o files. Problem arise when I
create the executable with all those libs at the end and try to link with SDL
shared library:
LDFLAGS=-L[...]/arm-2008q3/arm-none-linux-gnueabi/lib -pthread -lcrypt
-lSDL-1.2 -lSDL_image-1.2 -Wl,-rpath-link
[...]/arm-2008q3/arm-none-linux-gnueabi/lib
That's the output I get:
[...]/arm-2008q3/bin/arm-none-linux-gnueabi-g++
-L[...]/arm-2008q3/arm-none-linux-gnueabi/lib -pthread -lcrypt -lSDL-1.2
-lSDL_image-1.2 -Wl,-rpath-link [...]/arm-2008q3/arm-none-linux-gnueabi/lib
main.o [...].a -o tmg-arm
[...]/arm-2008q3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/../../../../arm-none-linux-gnueabi/bin/ld:
cannot find -lSDL-1.2
Note here that it seems to use simply "ld" instead of
"arm-none-linux-gnueabi-ld", but at least it's the cross-compiler one, not the
base system one. I tried to simply write -lSDL instead of -lSDL-1.2, no help. I
tried to copy the libSDL-1.2.so.0 / libSDL-1.2.so.0.11.3 files to every /lib
paths in the crosstool directory structure, it can never find it.
What am I understanding wrong?
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|