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

Erro ao compilar no vscode

Olá! Recentemente passei a utilizar o vscode para os projetos, fazendo a instalação dos pacotes e do compilador mingw como recomendado. Nos primeiros códigos em C++ estava dando tudo certo, sem erro algum de compilação, porém, quando entrou na aula de separação de arquivos com header, métodos e main envolvidos, começou a dar errado. Tentei procurar outras opções, inclusive recomendações de ver a configuração própria do vscode dos arquivos tasks.json e launch.json. No entanto, nada está adiantando e o mesmo resultado abaixo continua aparecendo...

4 respostas

Olá, Nikolle! Tudo bem?

Quando se trabalha com a separação de arquivos em C++, é importante garantir que a estrutura do projeto esteja correta. Aqui estão algumas dicas que podem ajudar a resolver o seu problema:

  1. Verifique a Inclusão dos Arquivos: Certifique-se de que o arquivo .cpp principal (onde está a função main) está incluindo corretamente os arquivos de cabeçalho (.h) usando a diretiva #include "nome_do_arquivo.h".

  2. Caminhos Relativos: Verifique se os caminhos para os arquivos de cabeçalho estão corretos e se não há problemas de caminho relativo.

  3. Compilação Manual: Tente compilar manualmente pelo terminal para ver se o erro persiste. Use um comando como g++ main.cpp outro_arquivo.cpp -o programa para compilar e veja se algum erro específico é mostrado.

Além disso, ao fim do seu depoimento no tópico você comenta sobre um resultado que sempre torna acontecer, mas não há nenhuma informação abaixo, poderia compartilha ela? Assim vou conseguir entender melhor o que está acontecendo.

Espero que essas dicas ajudem a resolver o problema de compilação.

Bons estudos!

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

Boa tarde! Agradeço muito por responder.

Tinha feito a verificação anteriormente no cabeçalho e estava corretamente sido incluso. Consegui resolver apenas incluindo diretamente no main o arquivo com métodos cpp, rodando o programa e obtendo a mesma resposta ensinada na aula. No entanto, o que ainda me preocupa é o fato de que não somente na IDE do vscode, assim como no dev c++ o mesmo erro se repetia e a mesma solução que falei anteriormente acontecia.

Quanto a imagem, segue o link que tem: https://drive.google.com/drive/folders/1HLB9RhmhQSvd2xp2NuIv9dwugxnAyU7B?usp=sharing

Sou grata pela atenção e direcionamento excelente desde já!

solução!

Bom dia, Nikolle!

O erro exibido no terminal indica que o compilador não está conseguindo encontrar as definições das funções depositar(float) e sacar(float) mencionadas no código.

Seguem os detalhes que causam o problema:

  1. "undefined reference to 'Conta::depositar(float)'": Isso significa que a função depositar(float) foi declarada no cabeçalho (conta.hpp), mas sua implementação (definição) não foi encontrada no arquivo de código-fonte (conta.cpp).

  2. "undefined reference to 'Conta::sacar(float)'": A mesma situação ocorre para a função sacar(float).

Então a solução que você utilizou era a realmente necessária para solucionar o problema, meus parabéns!

Se estiver tendo algum outro problema estarei aqui para ajudar.

Bom dia, Armano!

Muito obrigada por responder e por confirmar. Agradeço pela disponibilidade e pela explicação excelente!