JVictorDias / PIG

16 stars 4 forks source link

Erro de compilação #2

Open SaluRamos opened 3 months ago

SaluRamos commented 3 months ago

estou compilando assim: g++ main.cpp -o main.exe -Iinclude -Iinclude/SDL -Iinclude/SDL_image -Llib -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_ttf

estrutura do projeto: image

Windows 10, usando VS Code.

erro:

In file included from include/PIG.h:24:0,
                 from main.cpp:2:
include/CMapaCaracteres.h: In constructor 'CMapaCaracteres::CMapaCaracteres(char*, SDL_Renderer*, int, int, SDL_Color, int, SDL_Color)':
include/CMapaCaracteres.h:63:40: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
         off->SalvarImagem(NOME_ARQ_TEMP);
                                        ^
include/CMapaCaracteres.h: In constructor 'CMapaCaracteres::CMapaCaracteres(char*, SDL_Renderer*, int, int, char*, int, SDL_Color)':    
include/CMapaCaracteres.h:145:40: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
         off->SalvarImagem(NOME_ARQ_TEMP);
                                        ^
include/CMapaCaracteres.h:164:40: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
         off->SalvarImagem(NOME_ARQ_TEMP);
                                        ^
In file included from include/PIG.h:30:0,
                 from main.cpp:2:
include/CJogo.h: In constructor 'CJogo::CJogo(char*, int)':
include/CJogo.h:56:106: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]  
         fontes[0] = new CMapaCaracteres("..//fontes//arial.ttf",renderer,36,ESTILO_NORMAL,BRANCO,0,BRANCO);

Sou novo com c++, oque estou fazendo de errado?

SaluRamos commented 3 months ago

estava executando o arquivo exec.bat:

cls
g++ main.cpp -o main.exe -Iinclude -Iinclude/SDL -Iinclude/SDL_image -Llib -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_ttf
main.exe
pause

executando o output manualmente foi exibido os erros:

image

corrigi alterando exec.bat para jogar o output para dentro de bin:

cls
g++ main.cpp -o bin/main.exe -Iinclude -Iinclude/SDL -Iinclude/SDL_image -Llib -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_ttf
cd bin
main.exe
pause

Parece que a lib só mostrou warnings mesmo, meu erro.