Homebrew Problems Building 3DNES

dpad_5678

Ape weak on own. Ape strong in unity.
OP
Member
Joined
Nov 19, 2015
Messages
2,219
Trophies
1
XP
2,880
Country
United States
Hello Everyone .

I am trying to compile 3DNES on my Windows 10 PC.

I have devkitpro installed

Here is the error I am getting:


Code:
C:\Users\leotr\Downloads\3DNES-master\3DNES-master>make
FileSystem.c
arm-none-eabi-gcc -MMD -MP -MF /c/Users/leotr/Downloads/3DNES-master/3DNES-master/build/FileSystem.d -g -Wall -O3 -mword-relocations -save-temps -fomit-frame-pointer -ffast-math -mfloat-abi=softfp -march=armv6k -mtune=mpcore -I/c/Users/leotr/Downloads/3DNES-master/3DNES-master/include -IC:\devkitPro\libctru/include -I/c/Users/leotr/Downloads/3DNES-master/3DNES-master/build -DARM11 -D_3DS -c /c/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c -o FileSystem.o
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:135:2: warning: "/*" within comment [-Wcomment]
  /*if (SRAM_Name != NULL) {
  ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:10:1: error: unknown type name 'FS_archive'
FS_archive sdmcArchive;
^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c: In function 'NES_LOADROMLIST':
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:28:2: error: unknown type name 'FS_dirent'
  FS_dirent dirStruct;
  ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:29:2: error: unknown type name 'FS_path'
  FS_path dirPath = FS_makePath(PATH_CHAR, "/3DNES/ROMS");
  ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:29:20: warning: implicit declaration of function 'FS_makePath' [-Wimplicit-function-declaration]
  FS_path dirPath = FS_makePath(PATH_CHAR, "/3DNES/ROMS");
                    ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:29:32: error: 'PATH_CHAR' undeclared (first use in this function)
  FS_path dirPath = FS_makePath(PATH_CHAR, "/3DNES/ROMS");
                                ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:29:32: note: each undeclared identifier is reported only once for each function it appears in
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:32:17: error: 'FS_archive' undeclared (first use in this function)
  sdmcArchive = (FS_archive){0x9, (FS_path){PATH_EMPTY, 1, (u8*)""}};
                 ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:32:28: error: expected ';' before '{' token
  sdmcArchive = (FS_archive){0x9, (FS_path){PATH_EMPTY, 1, (u8*)""}};
                            ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:33:2: error: too many arguments to function 'FSUSER_OpenArchive'
  FSUSER_OpenArchive(NULL, &sdmcArchive);
  ^
In file included from C:\devkitPro\libctru/include/3ds.h:37:0,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/include/FileSystem.h:7,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:1:
C:\devkitPro\libctru/include/3ds/services/fs.h:369:8: note: declared here
Result FSUSER_OpenArchive(FS_Archive* archive);
        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:34:28: error: incompatible type for argument 2 of 'FSUSER_OpenDirectory'
  FSUSER_OpenDirectory(NULL, &romHandle, sdmcArchive, dirPath);
                            ^
In file included from C:\devkitPro\libctru/include/3ds.h:37:0,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/include/FileSystem.h:7,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:1:
C:\devkitPro\libctru/include/3ds/services/fs.h:363:8: note: expected 'FS_Archive {aka struct <anonymous>}' but argument is of type 'Handle * {aka long unsigned int *}'
Result FSUSER_OpenDirectory(Handle *out, FS_Archive archive, FS_Path path);
        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:34:40: error: incompatible type for argument 3 of 'FSUSER_OpenDirectory'
  FSUSER_OpenDirectory(NULL, &romHandle, sdmcArchive, dirPath);
                                        ^
In file included from C:\devkitPro\libctru/include/3ds.h:37:0,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/include/FileSystem.h:7,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:1:
C:\devkitPro\libctru/include/3ds/services/fs.h:363:8: note: expected 'FS_Path {aka struct <anonymous>}' but argument is of type 'int'
Result FSUSER_OpenDirectory(Handle *out, FS_Archive archive, FS_Path path);
        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:34:2: error: too many arguments to function 'FSUSER_OpenDirectory'
  FSUSER_OpenDirectory(NULL, &romHandle, sdmcArchive, dirPath);
  ^
In file included from C:\devkitPro\libctru/include/3ds.h:37:0,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/include/FileSystem.h:7,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:1:
C:\devkitPro\libctru/include/3ds/services/fs.h:363:8: note: declared here
Result FSUSER_OpenDirectory(Handle *out, FS_Archive archive, FS_Path path);
        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:38:2: error: expected ';' before 'while'
  while(1) {
  ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:47:28: error: incompatible type for argument 2 of 'FSUSER_OpenDirectory'
  FSUSER_OpenDirectory(NULL, &romHandle, sdmcArchive, dirPath);
                            ^
In file included from C:\devkitPro\libctru/include/3ds.h:37:0,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/include/FileSystem.h:7,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:1:
C:\devkitPro\libctru/include/3ds/services/fs.h:363:8: note: expected 'FS_Archive {aka struct <anonymous>}' but argument is of type 'Handle * {aka long unsigned int *}'
Result FSUSER_OpenDirectory(Handle *out, FS_Archive archive, FS_Path path);
        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:47:40: error: incompatible type for argument 3 of 'FSUSER_OpenDirectory'
  FSUSER_OpenDirectory(NULL, &romHandle, sdmcArchive, dirPath);
                                        ^
In file included from C:\devkitPro\libctru/include/3ds.h:37:0,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/include/FileSystem.h:7,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:1:
C:\devkitPro\libctru/include/3ds/services/fs.h:363:8: note: expected 'FS_Path {aka struct <anonymous>}' but argument is of type 'int'
Result FSUSER_OpenDirectory(Handle *out, FS_Archive archive, FS_Path path);
        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:47:2: error: too many arguments to function 'FSUSER_OpenDirectory'
  FSUSER_OpenDirectory(NULL, &romHandle, sdmcArchive, dirPath);
  ^
In file included from C:\devkitPro\libctru/include/3ds.h:37:0,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/include/FileSystem.h:7,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:1:
C:\devkitPro\libctru/include/3ds/services/fs.h:363:8: note: declared here
Result FSUSER_OpenDirectory(Handle *out, FS_Archive archive, FS_Path path);
        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:52:39: warning: passing argument 4 of 'FSDIR_Read' from incompatible pointer type [-Wincompatible-pointer-types]
   FSDIR_Read(romHandle, &dataRead, 1, &dirStruct);
                                       ^
In file included from C:\devkitPro\libctru/include/3ds.h:37:0,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/include/FileSystem.h:7,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:1:
C:\devkitPro\libctru/include/3ds/services/fs.h:1032:8: note: expected 'FS_DirectoryEntry * {aka struct <anonymous> *}' but argument is of type 'int *'
Result FSDIR_Read(Handle handle, u32* entriesRead, u32 entryCount, FS_DirectoryEntry* entries);
        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:54:66: error: expected ']' before ')' token
   unicodeToChar(&fileSystem.fileList[MAX_FILENAME_SIZE * fileSystem.totalFiles), dirStruct.name);
                                                                  ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:54:3: error: too few arguments to function 'unicodeToChar'
   unicodeToChar(&fileSystem.fileList[MAX_FILENAME_SIZE * fileSystem.totalFiles), dirStruct.name);
   ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:18:6: note: declared here
void unicodeToChar(char* dst, u16* src) {
      ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:54:78: error: request for member 'name' in something not a structure or union
   unicodeToChar(&fileSystem.fileList[MAX_FILENAME_SIZE * fileSystem.totalFiles), dirStruct.name);
                                                                              ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:54:67: warning: left-hand operand of comma expression has no effect [-Wunused-value]
   unicodeToChar(&fileSystem.fileList[MAX_FILENAME_SIZE * fileSystem.totalFiles), dirStruct.name);
                                                                   ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:54:83: error: expected ';' before ')' token
   unicodeToChar(&fileSystem.fileList[MAX_FILENAME_SIZE * fileSystem.totalFiles), dirStruct.name);
                                                                                   ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:54:83: error: expected statement before ')' token
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c: In function 'NES_drawROMLIST':
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:66:3: warning: implicit declaration of function 'draw_string_c' [-Wimplicit-function-declaration]
   draw_string_c(55 + (i * 15), fileSystem.fileList[i * MAX_FILENAME_SIZE]);
   ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:69:2: warning: implicit declaration of function 'draw_string' [-Wimplicit-function-declaration]
  draw_string(10, (fileSystem.cFile * 15) + 53, "->");
  ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c: In function 'NES_drawConfigurationMenu':
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:80:2: warning: implicit declaration of function 'sprintf' [-Wimplicit-function-declaration]
  sprintf(gameFPS, "FrameSkip: %d", frameSkip);
  ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:80:2: warning: incompatible implicit declaration of built-in function 'sprintf'
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:80:2: note: include '<stdio.h>' or provide a declaration of 'sprintf'
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c: In function 'NES_LoadSelectedGame':
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:119:53: warning: passing argument 1 of 'strlen' makes pointer from integer without a cast [-Wint-conversion]
  u32    ROMDIR_Size = (strlen("/3DNES/ROMS/") + strlen(fileSystem.fileList[fileSystem.currFile]) + 1);
                                                     ^
In file included from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/include/FileSystem.h:9:0,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:1:
c:\devkitpro\devkitarm\arm-none-eabi\include\string.h:33:8: note: expected 'const char *' but argument is of type 'char'
size_t  _EXFUN(strlen,(const char *));
        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:143:69: error: 'PATH_CHAR' undeclared (first use in this function)
  FSUSER_OpenFileDirectly(NULL, &fileHandle, sdmcArchive, FS_makePath(PATH_CHAR, ROM_DIR), FS_OPEN_READ, FS_ATTRIBUTE_NONE);
                                                                     ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:143:104: error: 'FS_ATTRIBUTE_NONE' undeclared (first use in this function)
  FSUSER_OpenFileDirectly(NULL, &fileHandle, sdmcArchive, FS_makePath(PATH_CHAR, ROM_DIR), FS_OPEN_READ, FS_ATTRIBUTE_NONE);
                                                                                                        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:143:31: error: incompatible type for argument 2 of 'FSUSER_OpenFileDirectly'
  FSUSER_OpenFileDirectly(NULL, &fileHandle, sdmcArchive, FS_makePath(PATH_CHAR, ROM_DIR), FS_OPEN_READ, FS_ATTRIBUTE_NONE);
                               ^
In file included from C:\devkitPro\libctru/include/3ds.h:37:0,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/include/FileSystem.h:7,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:1:
C:\devkitPro\libctru/include/3ds/services/fs.h:299:8: note: expected 'FS_Archive {aka struct <anonymous>}' but argument is of type 'Handle * {aka long unsigned int *}'
Result FSUSER_OpenFileDirectly(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:143:44: error: incompatible type for argument 3 of 'FSUSER_OpenFileDirectly'
  FSUSER_OpenFileDirectly(NULL, &fileHandle, sdmcArchive, FS_makePath(PATH_CHAR, ROM_DIR), FS_OPEN_READ, FS_ATTRIBUTE_NONE);
                                            ^
In file included from C:\devkitPro\libctru/include/3ds.h:37:0,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/include/FileSystem.h:7,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:1:
C:\devkitPro\libctru/include/3ds/services/fs.h:299:8: note: expected 'FS_Path {aka struct <anonymous>}' but argument is of type 'int'
Result FSUSER_OpenFileDirectly(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:143:2: error: too many arguments to function 'FSUSER_OpenFileDirectly'
  FSUSER_OpenFileDirectly(NULL, &fileHandle, sdmcArchive, FS_makePath(PATH_CHAR, ROM_DIR), FS_OPEN_READ, FS_ATTRIBUTE_NONE);
  ^
In file included from C:\devkitPro\libctru/include/3ds.h:37:0,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/include/FileSystem.h:7,
                 from c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:1:
C:\devkitPro\libctru/include/3ds/services/fs.h:299:8: note: declared here
Result FSUSER_OpenFileDirectly(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
        ^
c:/Users/leotr/Downloads/3DNES-master/3DNES-master/source/FileSystem.c:118:6: warning: unused variable 'SRAM_Size' [-Wunused-variable]
  u32    SRAM_Size = 0;
      ^
make[1]: *** [FileSystem.o] Error 1
make: *** [build] Error 2

C:\Users\leotr\Downloads\3DNES-master\3DNES-master> [code/]
[spolier/]
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
3DNES was coded around a very old version of ctrulib, so if you're trying to build it against the newest one, well, you'll have to fix all the errors and probably change how it renders graphics. The last time I tried it months ago, it didn't display anything anymore (probably because of changes in ctrulib). Your best options for NES right now are FCEUMM/quicknes (quicknes is faster but less compatible) for Old3DS and nestopia/FCEUMM for New3DS.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    HiradeGirl @ HiradeGirl: :discuss: