Sdk Distribution?


Sdw

Member
Joined
May 8, 2003
Messages
146
Location
Sweden
Website
www.ag1976.com
OK, I admit it - I am lazy. When I begin developing for a new platform, I prefer if there is a ready-to-install SDK which you install, look at the included skeleton code and then start hacking code.

With most Linux based stuff, the process seems to be more like.
* Locate different SDKs you need
* Try and install
* Watch Linux whine that you have GCC version 123.456788 instead of version 123.456789
* Try and compile code
* Get link errors because you need EsotericLibNobodyHeardOf v.739865beta8rc45
* repeat

Are there plans to create some kind of easy-to-get-started SDK pack?
Dare I even ask if there could be any possibilty of developing on Windows instead of Linux?
 
Sometimes people distribute an ISO with a bootable linux with the proper libraries, GCC version and some utilities etc. The distro then uses an existing harddisk partition to save any compiles, sources and such that you are working on. Maybe that is the best way how to do what you are asking for.
 
With proper packaging for each significant distribution (ubuntu, fedora, windows, mac) problems like this don't happen.
 
Sdw said:
OK, I admit it - I am lazy. When I begin developing for a new platform, I prefer if there is a ready-to-install SDK which you install, look at the included skeleton code and then start hacking code.
That happened on the GP32 and GP2X, so I don't why it shouldn't on the Pandora.
Sdw said:
Dare I even ask if there could be any possibilty of developing on Windows instead of Linux?
Developing on Windows is already possible. There are SDKs for both Windows and Linux.
 
Last edited by a moderator:
@Sdw the linux compiler probably is a self contained compiler with its own set of libs to compile against... so it should run on any recent version of linux

at least that is how i've seen it done before... i have compiled haiku on linux and it basically compiles the whole OS + basic apps on linux which isn't even the same OS not to mention different libraries

so an experience like you discribed would be due to a badly implemented compile system and not any problem with linux you would have the same problems with windows.... although i do feel your pain with lib depandancies sometimes (I have one PC running slackware)
 
MacGyver said:
but can i use http://www.gnuarm.com/ ?



Sure, you can use any compiler that can output a suitable file. You might not get full benefit however unless you use a version that can output ARMv7 and NEON instructions.

For the first couple of Pandora apps, I used the exact same development environment/compiler/etc as I setup for the GP2X.
 
Last edited by a moderator:
My compiler on ubuntu 8.04 tells me

CODE

crt0.o: No such file: No such file or directory



can anyone help me ?

Greats MacGver
 
well that is a .o file which would be output by gcc so i would think squidge would be right there... it gives you that error because the file doesn't exist because gcc is not creating it because your library path is wrong?

you probably want to read the compiler documentation to figure out what the environment variable you need to set is .....in all reality this is the kind of thing Sdw was concerned about....

can you compile simpler programs? that don't require linking i bet not...
 
Hello

2 questions for gnu toolchains.
1. How can i compile more as one cpp file ?
2. How can i link with SDL ?

Have anyone a example for me ? A make file ?

Greats MacGyver
 
To compile more files at once, put the filenames on the command line aside each other.

For SDL, it's probably -lSDL, but there's probably a script for it (sdl_config or similar) -> Check SDL docs (or maybe other peoples programs).
 
OK
i have make some little test with SDL, but i become some warnings
include location "/usr/include/SDL" is unsafe for cross-compilation
What can i do ?

Greats MacGyver
 
MacGyver said:
Hello

2 questions for gnu toolchains.
1. How can i compile more as one cpp file ?
2. How can i link with SDL ?

Have anyone a example for me ? A make file ?

Greats MacGyver
you need to Wright a makefile(or edit someone else's to fit your needs :rolleyes: ), eg the one from my game, its a modified version of the one that comes with irrlicht.

CODE
# Makefile for Irrlicht Examples
# It's usually sufficient to change just the target name and source file list
# and be sure that CXX is set to a valid compiler
Target = ./../Tux_GBM
Sources = Main.cpp structs.cpp TTile_object.cpp TTiles.cpp TBackground.cpp Tfire_sprites.cpp Tfire_trap.cpp Tfire_deathpit.cpp Tanim_ticker.cpp Tkey_object.cpp Tdoor_object.cpp Tcrusher_object.cpp Tmenu.cpp

# general compiler settings
CPPFLAGS = -I/opt/irrlicht-1.4.1/include -I/usr/X11R6/include -I../Source
CXXFLAGS = -O3 -ffast-math
#CXXFLAGS = -g -Wall

#default target is Linux
all: all_linux

ifeq ($(HOSTTYPE), x86_64)
LIBSELECT=64
endif

# target specific settings
all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L/opt/irrlicht-1.4.1/lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11
all_linux clean_linux: SYSTEM=Linux
all_win32: LDFLAGS = -L/opt/irrlicht-1.4.1/lib/Win32-gcc -lIrrlicht -lopengl32 -lm
all_win32 clean_win32: SYSTEM=Win32-gcc
all_win32 clean_win32: SUF=.exe
# name of the binary - only valid for targets which set SYSTEM
DESTPATH = ./$(Target)$(SUF)

all_linux all_win32:
$(warning Building...)
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS)

clean: clean_linux clean_win32
$(warning Cleaning...)



target, the name of the bin
sources, all the source files
cppflags, location of include files

more info here
http://www.cs.utah.edu/dept/old/texinfo/make/make_toc.html
 
Last edited by a moderator:
MacGyver said:
i have make some little test with SDL, but i become some warnings include location "/usr/include/SDL" is unsafe for cross-compilation
/usr/include/SDL is typically a system include path, and includes SDL for the system the compiler is running on (typically X86). Including code meant for an X86-based system is unsafe when you are cross-compiling to an ARM system (It may work, but it's may cause problems, hence being marked 'unsafe').
 
Last edited by a moderator:
Back
Top