raysan5 / rres

A simple and easy-to-use file-format to package resources
MIT License
391 stars 34 forks source link

Compile errors with mingw #21

Closed RudyFisher7 closed 6 months ago

RudyFisher7 commented 11 months ago

This happens with the rres-raylib.h include. Doesn't appear to be present in rres.h. Here is the printout. I don't have any special compiler options enabled, just the default settings that CLion uses with a CMake project.

I love what this project has to offer (if I could get to compile🙈 ). I appreciate all the hard work that has been put into this and raylib and raygui and its approach to giving the game dev freedom to design his/her own systems.

I am a little concerned using these frameworks though, due to these type miss-matching... raygui has similar miss-matching with its use of enum values that just produce warnings... 

In file included from C:/dev/game_project_root/game/main.cpp:11: C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h: In function 'char LoadTextFromResource(rresResourceChunk)': C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:209:49: error: invalid conversion from 'int' to 'unsigned int*' [-fpermissive] 209 text = LoadTextFromResourceChunk(chunk, &codeLang); ^~~~~
int*
C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:167:79: note: initializing argument 2 of 'char LoadTextFromResourceChunk(rresResourceChunk, unsigned int)' 167 static char LoadTextFromResourceChunk(rresResourceChunk chunk, unsigned int codeLang); // Load chunk: RRES_DATA_TEXT ~~~~^~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:216:41: error: invalid conversion from 'void' to 'char' [-fpermissive] 216 text = LoadDataFromResourceChunk(chunk, &size); ~~~~~^~~~~~
void*
C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:223:16: error: invalid conversion from 'void' to 'char' [-fpermissive] 223 text = data; ^~~~
void*
C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h: In function 'Image LoadImageFromResource(rresResourceChunk)': C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:241:56: error: invalid conversion from 'void' to 'unsigned char' [-fpermissive] 241 unsigned char *data = LoadDataFromResourceChunk(chunk, &dataSize); ~~~~~^~~~~~
void*
C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:256:65: error: invalid conversion from 'void' to 'const char' [-fpermissive] 256 image = LoadImageFromMemory(GetFileExtension(chunk.data.raw), data, dataSize); ~~~^~~
void*
In file included from C:/dev/game_project_root/game/main.cpp:5: C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:1108:48: note: initializing argument 1 of 'const char GetFileExtension(const char)' 1108 RLAPI const char GetFileExtension(const char fileName); // Get pointer to extension for a filename string (includes dot: '.png') ~~^~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:256:71: error: invalid conversion from 'void' to 'const unsigned char' [-fpermissive] 256 image = LoadImageFromMemory(GetFileExtension(chunk.data.raw), data, dataSize); ^~~~
void*
C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:1280:76: note: initializing argument 2 of 'Image LoadImageFromMemory(const char, const unsigned char, int)' 1280 RLAPI Image LoadImageFromMemory(const char fileType, const unsigned char fileData, int dataSize); // Load image from memory buffer, fileType refers to extension: i.e. '.png' ~~~~~^~~~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h: In function 'Wave LoadWaveFromResource(rresResourceChunk)': C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:285:56: error: invalid conversion from 'void' to 'unsigned char' [-fpermissive] 285 unsigned char *data = LoadDataFromResourceChunk(chunk, &dataSize); ~~~~~^~~~~~
void*
C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:300:63: error: invalid conversion from 'void' to 'const char' [-fpermissive] 300 wave = LoadWaveFromMemory(GetFileExtension(chunk.data.raw), data, dataSize); ~~~^~~
void*
C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:1108:48: note: initializing argument 1 of 'const char GetFileExtension(const char)' 1108 RLAPI const char GetFileExtension(const char fileName); // Get pointer to extension for a filename string (includes dot: '.png') ~~^~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:300:69: error: invalid conversion from 'void' to 'const unsigned char' [-fpermissive] 300 wave = LoadWaveFromMemory(GetFileExtension(chunk.data.raw), data, dataSize); ^~~~
void*
C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:1570:74: note: initializing argument 2 of 'Wave LoadWaveFromMemory(const char, const unsigned char, int)' 1570 RLAPI Wave LoadWaveFromMemory(const char fileType, const unsigned char fileData, int dataSize); // Load wave from memory buffer, fileType refers to extension: i.e. '.wav' ~~~~~^~~~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h: In function 'Font LoadFontFromResource(rresResourceMulti)': C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:364:63: error: invalid conversion from 'void' to 'unsigned char' [-fpermissive] 364 unsigned char *rawData = LoadDataFromResourceChunk(multi.chunks[0], &dataSize); ~~~~~^~~~~~~~
void*
C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:380:77: error: invalid conversion from 'void' to 'const char' [-fpermissive] 380 font = LoadFontFromMemory(GetFileExtension(multi.chunks[0].data.raw), rawData, dataSize, 32, NULL, 0); ~~~~~^~~
void*
C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:1108:48: note: initializing argument 1 of 'const char GetFileExtension(const char)' 1108 RLAPI const char GetFileExtension(const char fileName); // Get pointer to extension for a filename string (includes dot: '.png') ~~^~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:380:83: error: invalid conversion from 'void' to 'const unsigned char' [-fpermissive] 380 font = LoadFontFromMemory(GetFileExtension(multi.chunks[0].data.raw), rawData, dataSize, 32, NULL, 0); ^~~
void*
C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:1407:74: note: initializing argument 2 of 'Font LoadFontFromMemory(const char, const unsigned char, int, int, int*, int)' 1407 RLAPI Font LoadFontFromMemory(const char fileType, const unsigned char fileData, int dataSize, int fontSize, int *codepoints, int codepointCount); // Load font from memory buffer, fileType refers to extension: i.e. '.ttf' ~~~~~^~~~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h: In function 'int UnpackResourceChunk(rresResourceChunk)': C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:541:60: error: invalid conversion from 'void' to 'unsigned char*' [-fpermissive] 541 case RRES_CIPHER_NONE: decryptedData = chunk->data.raw; break; ~~^
void*
C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:763:40: error: invalid conversion from 'void' to 'unsigned char' [-fpermissive] 763 uncompData = qoi_decode(decryptedData, chunk->info.packedSize, &desc, 0); ~~^~~~~~~~~~~~~
void*
C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h: In function 'void LoadDataFromResourceLink(rresResourceChunk, unsigned int)': C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:125:39: error: invalid conversion from 'void' to 'unsigned char' [-fpermissive] 125 #define RL_CALLOC(n,sz) calloc(n,sz) ~~^~
void*
C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:831:35: note: in expansion of macro 'RL_CALLOC' 831 unsigned char *linkFilePath = RL_CALLOC(chunk.data.props[0], 1); ^~~~~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:837:12: error: invalid conversion from 'unsigned char' to 'char' [-fpermissive] 837 strcpy(fullFilePath, baseDir); ^~~~
unsigned char*
In file included from C:/dev/game_project_root/lib/third_party/raygui/src/raygui.h:1032: C:/Program Files/JetBrains/CLion 2023.2.2/bin/mingw/x86_64-w64-mingw32/include/string.h:61:45: note: initializing argument 1 of 'char strcpy(char, const char*)' 61 char __cdecl strcpy(char restrict _Dest,const char * restrict _Source); ~~~~^~~~~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:838:12: error: invalid conversion from 'unsigned char' to 'char' [-fpermissive] 838 strcat(fullFilePath, linkFilePath); ^~~~
unsigned char*
C:/Program Files/JetBrains/CLion 2023.2.2/bin/mingw/x86_64-w64-mingw32/include/string.h:62:45: note: initializing argument 1 of 'char strcat(char, const char*)' 62 char __cdecl strcat(char restrict _Dest,const char * restrict _Source); ~~~~^~~~~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:838:26: error: invalid conversion from 'unsigned char' to 'const char' [-fpermissive] 838 strcat(fullFilePath, linkFilePath); ^~~~
unsigned char*
C:/Program Files/JetBrains/CLion 2023.2.2/bin/mingw/x86_64-w64-mingw32/include/string.h:62:77: note: initializing argument 2 of 'char strcat(char, const char*)' 62 char __cdecl strcat(char restrict _Dest,const char * restrict _Source); ~~~~~~^~~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:842:20: error: invalid conversion from 'unsigned char' to 'const char' [-fpermissive] 842 if (FileExists(fullFilePath)) ^~~~
unsigned char*
C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:1104:35: note: initializing argument 1 of 'bool FileExists(const char*)' 1104 RLAPI bool FileExists(const char *fileName); // Check if file exists ~~^~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:846:29: error: invalid conversion from 'unsigned char' to 'const char' [-fpermissive] 846 if (IsFileExtension(linkFilePath, ".txt;.md;.vs;.fs;.info;.c;.h;.json;.xml;.glsl")) // Text file ^~~~
unsigned char*
C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:1106:40: note: initializing argument 1 of 'bool IsFileExtension(const char, const char)' 1106 RLAPI bool IsFileExtension(const char fileName, const char ext); // Check file extension (including point: .png, .wav) ~~^~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:848:33: error: invalid conversion from 'unsigned char' to 'const char' [-fpermissive] 848 data = LoadFileText(fullFilePath); ^~~~
unsigned char*
C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:1098:38: note: initializing argument 1 of 'char LoadFileText(const char)' 1098 RLAPI char LoadFileText(const char fileName); // Load text data from file (read), returns a '\0' terminated string ~~^~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:849:32: error: invalid conversion from 'void' to 'const char' [-fpermissive] 849 *size = TextLength(data); ^~~~
void*
C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:1446:43: note: initializing argument 1 of 'unsigned int TextLength(const char*)' 1446 RLAPI unsigned int TextLength(const char *text); // Get text length, checks for '\0' ending ~~^~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:851:34: error: invalid conversion from 'unsigned char' to 'const char' [-fpermissive] 851 else data = LoadFileData(fullFilePath, size); ^~~~
unsigned char*
C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:1094:47: note: initializing argument 1 of 'unsigned char LoadFileData(const char, int*)' 1094 RLAPI unsigned char LoadFileData(const char fileName, int *dataSize); // Load file data as byte array (read) ~~^~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:851:48: error: invalid conversion from 'unsigned int' to 'int' [-fpermissive] 851 else data = LoadFileData(fullFilePath, size); ^~~~
unsigned int*
C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:1094:62: note: initializing argument 2 of 'unsigned char LoadFileData(const char, int*)' 1094 RLAPI unsigned char LoadFileData(const char fileName, int *dataSize); // Load file data as byte array (read) ~^~~~ C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h: In function 'char LoadTextFromResourceChunk(rresResourceChunk, unsigned int)': C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:895:12: error: invalid conversion from 'void' to 'char' [-fpermissive] 895 return text; ^~~~
void*
C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h: In function 'unsigned int ComputeMD5(unsigned char, int)': C:/dev/game_project_root/lib/third_party/raylib/src/raylib.h:125:39: error: invalid conversion from 'void' to 'unsigned char' [-fpermissive] 125 #define RL_CALLOC(n,sz) calloc(n,sz) ~~^~
void*

C:/dev/game_project_root/lib/third_party/rres/src/rres-raylib.h:1031:26: note: in expansion of macro 'RL_CALLOC' 1031 | unsigned char *msg = RL_CALLOC(newDataSize + 64, 1); // Also appends "0" bits (we alloc also 64 extra bytes...) | ^~~~~ ninja: build stopped: subcommand failed.

raysan5 commented 6 months ago

All errors are actually data types conversions and they can be ignored as warnings.