gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > Boost.org libraries in devkitARM

#153970 - anomalous_underdog - Tue Apr 08, 2008 7:49 pm

anyone have any success with it?

shared_ptr and weak_ptr is already imported (tr1 namespace) thankfully.

what about Boost::Regex, Boost::Python, Boost::Filesystem, et al?

I haven't had much success but I'll try again in the weekend. Probably bjam couldn't find arm-eabi-g++ in my setup:
Code:
...failed gcc.compile.c++ c:\0-ds\devkitPRO\devkitARM\boost\boost\bin.v2\libs\da
te_time\build\gcc-4.1.2\release\link-static\runtime-link-static\greg_month.o...
gcc.compile.c++ c:\0-ds\devkitPRO\devkitARM\boost\boost\bin.v2\libs\date_time\bu
ild\gcc-4.1.2\release\link-static\runtime-link-static\greg_weekday.o
g++: CreateProcess: No such file or directory

#154313 - anomalous_underdog - Mon Apr 14, 2008 4:33 pm

I guess people aren't interested. For anyone new looking at this post, I found a solution:

(These instructions are based on Patatersoft's Boost in DS article)

I'm using:
- Boost 1.35.0
- devkitARM r21
- msys 1.0.11


1. edit your user-config.jam file, add this line:

using gcc : 4.1.2 : arm-eabi-g++ ;

2. use msys

3. make sure devkitARM's tools can be called:

export PATH=$PATH:$DEVKITARM/arm-eabi/bin:$DEVKITARM/bin


4. make sure objcopy can be called:

ln -s $DEVKITARM/bin/arm-eabi-objcopy.exe $DEVKITARM/arm-eabi/bin/objcopy.exe

5. if you have a C:\MinGW, try renaming temporarily to a different name so bjam won't be able to find it (so it'll be forced to use devkitARM)

6. now try to compile it, go to your boost folder, then run (this command assumes you have a folder named "boost" inside your devkitARM folder. that's where the libs are put in):

bjam --toolset=gcc --stagedir=$DEVKITARM/boost --build-dir=$DEVKITARM/boost --with-date_time --build-type=complete stage

that will compile only the date_time library. to build all, remove the "--with-date_time"

to see which libraries can be built:
bjam --show-libraries

the multithreaded versions will naturally not compile (no -mthreads) devkitARM has no multithreading, but you'll get the static versions fine.

I tried compiling Boost::Python, but it kept complaining. Obviously I haven't set up the Python includes properly, but nevermind. I got Lua 5.1.3 compiled properly and that's what I'll be using instead.

#154346 - josath - Tue Apr 15, 2008 1:13 am

I see this is a little late, but for others reading this thread, this link might also be useful: Boost on the Nintendo DS

#154374 - anomalous_underdog - Tue Apr 15, 2008 10:39 am

josath wrote:
I see this is a little late, but for others reading this thread, this link might also be useful: Boost on the Nintendo DS


Yup, that's the article I based my explanation on. Patatersoft's tutorial uses an old version of Boost (1.33 if I'm not mistaken). To compile the latest Boost (1.35.0 as of yet), you'll need to do the stuff I explained on this thread.

#158545 - elyk1212 - Fri Jun 13, 2008 5:51 am

Would it be too much code bloat to use on GBA platform? Anyone used managed ptrs on GBA?