Setting up Development Environment: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
 added instructions for Linux  | 
				 Add small Linux Netbeans tutorial  | 
				||
| Line 18: | Line 18: | ||
make install  | make install  | ||
</pre>  | </pre>  | ||
= Building the examples =  | = Building the examples =  | ||
| Line 27: | Line 26: | ||
* '''mic:''' demonstrates how to read sound from the microphone  | * '''mic:''' demonstrates how to read sound from the microphone  | ||
* '''gpu:''' demonstrates how to render 3D geometry with the GPU  | * '''gpu:''' demonstrates how to render 3D geometry with the GPU  | ||
==Building the examples on Linux with Netbeans==  | |||
* Go to File->New Project...  | |||
* Select C/C++ Project with existing code  | |||
* Navigate to the examples directory and select the folder for the project you want to build; eg.    /home/vtsingaras/3ds/examples/app_launch  | |||
* Leave Configuration Mode to 'Automatic' and click 'Finish'.  | |||
* It will fail to build. Now edit Makefile and insert these two lines, adjusting for your devkitpro path, at the top:  | |||
<pre>export DEVKITPRO=/opt/devkitpro  | |||
export DEVKITARM=/opt/devkitpro/devkitARM</pre>  | |||
* Right-click the project and go to Properties->Code Assistance and click C Compiler.  | |||
* In include directories enter   | |||
<pre>/opt/devkitpro/devkitARM/include;/opt/devkitpro/ctrulib/libctru/include</pre>  | |||
adjusting again for your devkitPro path.  | |||
* Do the same for 'C++ Compiler'.  | |||
* Go to 'Run' and click 'Clean and Build Project'.  | |||
* Now right-click on the project and select Code Assistance->Reparse Project.  | |||
Now you can use Netbeans' code completion feature and build your project from the Run menu.  | |||
= Building homebrew for distribution =  | = Building homebrew for distribution =  | ||
Revision as of 12:45, 23 November 2014
Setup
- Install devkitARM. If it's already installed, update it. On Windows there's a GUI installer. On Linux/Mac there's a perl-script. Make sure you also select ctrulib when installing.
 - Download the files in the ctrulib repository (even though the library has already been installed) because the repository contains a 3DS project template and examples.
 
Linux
- First get the devkitARM updater Perl script for Linux.
 - Run it with superuser privileges if your /opt directory is not marked world read-writeable.
 - Get ctrulib from Smealum's GitHub repository, build and install it.
 
sudo -s curl -L http://sourceforge.net/projects/devkitpro/files/Automated%20Installer/devkitARMupdate.pl/download -o devkitARMupdate.pl chmod +x ./devkitARMupdate.pl ./devkitARMupdate.pl cd /opt/devkitpro git clone git@github.com:smealum/ctrulib.git cd ctrulib/libctru make make install
Building the examples
3DS examples are still being created. Currently there are a few examples in the separate ctrulib download under the "examples" folder.
- arm11u: simple homebrew example
 - sdmc: demonstrates how to access files on the SD card
 - mic: demonstrates how to read sound from the microphone
 - gpu: demonstrates how to render 3D geometry with the GPU
 
Building the examples on Linux with Netbeans
- Go to File->New Project...
 - Select C/C++ Project with existing code
 - Navigate to the examples directory and select the folder for the project you want to build; eg. /home/vtsingaras/3ds/examples/app_launch
 - Leave Configuration Mode to 'Automatic' and click 'Finish'.
 - It will fail to build. Now edit Makefile and insert these two lines, adjusting for your devkitpro path, at the top:
 
export DEVKITPRO=/opt/devkitpro export DEVKITARM=/opt/devkitpro/devkitARM
- Right-click the project and go to Properties->Code Assistance and click C Compiler.
 - In include directories enter
 
/opt/devkitpro/devkitARM/include;/opt/devkitpro/ctrulib/libctru/include
adjusting again for your devkitPro path.
- Do the same for 'C++ Compiler'.
 - Go to 'Run' and click 'Clean and Build Project'.
 - Now right-click on the project and select Code Assistance->Reparse Project.
 
Now you can use Netbeans' code completion feature and build your project from the Run menu.
Building homebrew for distribution
To build your homebrew open a terminal, browse to your homebrew's folder and run make.
- This will build a .elf file and a .3dsx file together with an icon. The icon and .3dsx file are the format required for the Homebrew Channel.
 
- To build a Gateway-compatible .3ds file you need to strip the .elf file and use makerom on it (with the provided RSF file):
 
arm-none-eabi-strip [ELF file] makerom -f cci -o [.3ds file] -rsf [RSF file] -target d -exefslogo -elf [ELF file] -icon [icon file] -banner [banner file]