Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Bug] Não consigo executar o codigo no meu UBUNTU 20

Já tentei tanto pelo codelite como pelo vscode, e não da certo. é como se nao reconhecesse o arquivo "Avaliador.hpp" que está sendo incluído no arquivo teste-avaliador. Poderiam me ajudar ?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas

Olá Jefferson, tudo bem?

Parece que o compilador não está conseguindo encontrar o arquivo "Avaliador.hpp". Isso pode ser causado por alguns motivos comuns. Vou sugerir algumas verificações e soluções que podem te ajudar:

  1. Verifique o Caminho do Arquivo: Certifique-se de que o arquivo "Avaliador.hpp" realmente existe no diretório correto. Ele deve estar no mesmo diretório que o arquivo "teste-avaliador.cpp" ou em um diretório incluído no caminho de busca do compilador.

  2. Inclua o Caminho do Diretório: Se o arquivo "Avaliador.hpp" estiver em um diretório diferente, você precisa informar ao compilador onde encontrá-lo. Por exemplo, se o arquivo estiver em um diretório chamado "includes", você pode compilar seu código assim:

    g++ -Iincludes -o teste-avaliador teste-avaliador.cpp
    

    No caso do seu projeto, você pode precisar ajustar o caminho conforme necessário:

    g++ -I/home/pdi-5405/Documentos/Estudo_pessoal/C++/2050-c-plus-plus-testes/Leilao/includes -o teste-avaliador teste-avaliador.cpp
    
  3. Verifique a Sintaxe do Include: Certifique-se de que o include está correto. Se "Avaliador.hpp" estiver no mesmo diretório, o include deve ser assim:

    #include "Avaliador.hpp"
    

    Se estiver em um diretório diferente, ajuste o caminho relativo:

    #include "../includes/Avaliador.hpp"
    
  4. Configuração do Ambiente de Desenvolvimento: No VSCode, você pode precisar configurar o c_cpp_properties.json para incluir o caminho do diretório onde está o arquivo "Avaliador.hpp". Vá em .vscode/c_cpp_properties.json e adicione o caminho no campo includePath:

    {
        "configurations": [
            {
                "name": "Linux",
                "includePath": [
                    "${workspaceFolder}/**",
                    "/home/pdi-5405/Documentos/Estudo_pessoal/C++/2050-c-plus-plus-testes/Leilao/includes"
                ],
                "defines": [],
                "compilerPath": "/usr/bin/gcc",
                "cStandard": "c11",
                "cppStandard": "c++17",
                "intelliSenseMode": "gcc-x64"
            }
        ],
        "version": 4
    }
    

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Fala, Jefferson. Como tá a estrutura do seu projeto? Já tentou compilar pelo gcc direto? Seu projeto nos editores de código não estão achando o arquivo. Provavelmente estão procurando esse header dentro da pasta de testes.

Olá, pessoal ! Tentei todas as dicas colocadas aqui, exclui também qualquer arquivo que pudesse ter ligação e confusão. Também tentei executar diretamente no terminal e não tive êxito. Fora isso, Exclui o projeto e baixei novamente o projeto .zip que é disponibilizado nas aulas para tentar executar novamente e também deu problema.

Porém, ao trocar -- #include "Avaliador.hpp" -- por -- #include "../src/Avaliador.hpp" -- Obtive um novo erro. Irei colocar como está a estrutura do projeto que acabei de baixar das aulas, o erro e o c_cpp_properties.json do vscode caso ajude.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Fala, Jefferson. Vou ser muito sincero com você: eu não to habituado a usar o VS Code para projetos compilados. Eu imagino que para compilar um projeto C++ nele você precisaria de um CMake ou pelo menos um Makefile.

Para simplificar sua vida e permitir que você avance por enquanto, embora eu relamente recomende o uso de uma IDE ao invés de um editor de código como VS Code, vou te mostrar como compilar pelo terminal.

Você vai acessar sua pasta Leilao, que é onde tem as pastas src e tests. Nela, você vai realizar o processo de compilação e assemble, mas não vai realizar o link, ou seja, você vai gerar os arquivos .o:

g++ -c src/*.cpp

Isso vai gerar os arquivos Avaliador.o, Lance.o, Leilao.o e Usuario.o.

Agora você vai compilar o seu teste:

g++ -c -I src/ tests/teste-avaliador.cpp

Isso vai gerar o teste-avaliador.o na mesma pasta que os demais. Agora é só fazer o link:

g++ *.o -o teste

Com isso, pra executar, é só rodar:

./teste