Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

copimax

modulos(c++)

Recommended Posts

estou tendo dificuldades em separar um pragama c++ em arquivos cpp

 

ARQUIVO CPP:

#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
#include "coutmodulo.h"

int falar()
{
   cout<<"AAA";
   return 0;
}

 

ARQUIVO #INCLUDE:

#ifndef COUTMODULO_H_INCLUDED
#define COUTMODULO_H_INCLUDED

int falar();

#endif

 

MAIN:

#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
#include "coutmodulo.h"
int main()
{
   falar();
   system("PAUSE");
   return 0;
}

A intenção é criar uma função separada em um arquivo cpp, pelo que eu entendi eu precisaria escrever a funçao, adicionar o include , criar o include com a funçao dentro, e coloca o include no main para juntar o arquivo fonte...

 

ERRO(main):

 

undefined reference to 'falar()'

 

me ajudem pf =(

Compartilhar este post


Link para o post
Compartilhar em outros sites

copimax,

 

Você precisa criar o arquivo .h com o protótipo da função. Por exemplo teste.h.

Depois criar um arquivo de implementação que vai coonter o código da sua função. Por exemplo teste.cpp.

 

Em seguida, basta incluir o header teste.h, no lugar onde você precisa utilizar a função. No arquivo main.cpp por exemplo.

 

Espero ter ajudado, FLW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

copimax,

 

Você precisa criar o arquivo .h com o protótipo da função. Por exemplo teste.h.

Depois criar um arquivo de implementação que vai coonter o código da sua função. Por exemplo teste.cpp.

 

Em seguida, basta incluir o header teste.h, no lugar onde você precisa utilizar a função. No arquivo main.cpp por exemplo.

 

Espero ter ajudado, FLW!

perai, nao foi isso que eu fiz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece que você está compilando errado.

 

Do jeito que você deixou os arquivos, se eu usar só g++ -Wall -Wextra main_fala.cpp, ele vai dar o erro de referência. P/ que dê certo você precisa explicitar o arquivo de implementação do header:g++ -Wall -Wextra main_fala.cpp coutmodulo.cpp.

 

Existem outras formas de você criar uma biblioteca personalizada e usá-la sem ter que ficar sempre escrevendo o nome do fonte. Dê uma olhada na internet (static library, shared library).

Compartilhar este post


Link para o post
Compartilhar em outros sites
perai, nao foi isso que eu fiz?

 

É verdade, me desculpe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.