Nintendo 3DS >> C/C++
安裝環境
參考資訊:
1. ffmpeg
2. citra-canary
3. devkitarm-3ds
司徒目前使用docker當作開發環境,安裝步驟如下:
$ sudo apt-get install docker* container* -y $ cd $ git clone https://github.com/morgenman/nds-docker $ cd nds-docker $ sudo docker build -t nds-env . Sending build context to Docker daemon 21.04MB Step 1/4 : FROM docker.io/devkitpro/devkitarm AS devkitpro ---> b40b3cbf4c5a Step 2/4 : ADD NitroEngine.tar.gz /opt/devkitpro ---> Using cache ---> 975106deea7c Step 3/4 : RUN cd /opt/devkitpro/NitroEngine; make ---> Using cache ---> ea9f9aee48c6 Step 4/4 : WORKDIR /source ---> Using cache ---> 8da2a32afc12 Successfully built 8da2a32afc12 Successfully tagged nds-env:latest $ sudo docker run --rm -it -v $(pwd):/source nds-env /bin/bash root@b0c0692e89e1:/source# /opt/devkitpro/devkitARM/bin/arm-none-eabi-gcc -v Using built-in specs. COLLECT_GCC=/opt/devkitpro/devkitARM/bin/arm-none-eabi-gcc COLLECT_LTO_WRAPPER=/opt/devkitpro/devkitARM/bin/../libexec/gcc/arm-none-eabi/12.2.0/lto-wrapper Target: arm-none-eabi Configured with: ../../gcc-12.2.0/configure --enable-languages=c,c++,objc,lto --with-gnu-as --with-gnu-ld --with-gcc --with-march=armv4t --enable-cxx-flags=-ffunction-sections --disable-libstdcxx-verbose --enable-poison-system-directories --enable-interwork --enable-multilib --enable-threads --disable-win32-registry --disable-nls --disable-debug --disable-libmudflap --disable-libssp --disable-libgomp --disable-libstdcxx-pch --enable-libstdcxx-time=yes --enable-libstdcxx-filesystem-ts --target=arm-none-eabi --with-newlib --with-headers=../../newlib-4.2.0.20211231/newlib/libc/include --prefix=/home/davem/projects/devkitpro/tool-packages/devkitARM/src/build/x86_64-linux-gnu/devkitARM --enable-lto --disable-tm-clone-registry --disable-__cxa_atexit --with-bugurl=http://wiki.devkitpro.org/index.php/Bug_Reports --with-pkgversion='devkitARM release 59' --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --with-gmp= --with-mpfr= --with-mpc= --with-isl= --with-zstd= --with-gmp=/opt/devkitpro/crosstools/x86_64-linux-gnu --with-mpfr=/opt/devkitpro/crosstools/x86_64-linux-gnu --with-mpc=/opt/devkitpro/crosstools/x86_64-linux-gnu --with-isl=/opt/devkitpro/crosstools/x86_64-linux-gnu --with-zstd=/opt/devkitpro/crosstools/x86_64-linux-gnu Thread model: single Supported LTO compression algorithms: zlib zstd gcc version 12.2.0 (devkitARM release 59)
P.S. host:$(pwd), docker:/source
而模擬器則是使用citra-emu,由於司徒目前還是使用Debian 10 x64,因此,需要手動編譯安裝新版ffmpeg,安裝步驟如下:
$ cd $ wget https://ffmpeg.org/releases/ffmpeg-3.4.12.tar.xz $ xz -d ffmpeg-3.4.12.tar.xz $ tar xvf ffmpeg-3.4.12.tar.xz $ cd ffmpeg-3.4.12 $ ./configure --enable-shared $ make -j4 $ sudo make install $ sudo ldconfig $ cd $ wget https://github.com/citra-emu/citra-canary/releases/download/canary-1795/citra-linux-20200627-61f0e52.7z $ 7za x citra-linux-20200627-61f0e52.7z $ sudo cp -a canary/* /usr/local/bin/ $ citra-qt