Vamos ao exemplo:
Suponha os arquivos:
/**** arquivo - a.c ****/
#include "b.hpp"
int main()
{
funcao();
return 0;
}
/**** eof ****/
/**** arquivo - b.hpp ****/
void funcao();
/**** eof ****/
/**** arquivo - b.cpp ****/
#include "b.hpp"
class B
{
private:
int valor;
public:
int metodo()
{
return valor;
}
};
void funcao()
{
B b;
b.metodo();
}
/**** eof ****/

Suponha agora compilarmos assim:
$ gcc -c a.c
$ gcc -c b.cpp
$ gcc a.o b.o -o prog
a.o: In function `main':
a.o(.text+0x7): undefined reference to `funcao'
collect2: ld returned 1 exit status
Apenas a ultima linha nao funciona e dah o erro acima.
Isso pode ser resolvido chamando g++ em vez de gcc no prompt. Assim:
$ g++ -c a.c
E funciona.
Essa eh a maneira correta? Um codigo em C sempre pode ser compilado como C++?
Existe 'extern "C"' pro caso de C++ chamando codigo compilado no estilo C,
mas 'extern "C++"' nao existe em C.
Onde isso ocorre na pratica: Uma interface feita em C e GTK+ chamando classes em C++.
Que voces acham? Alguma sugest�o?
Aldo

Assinantes em 26/11/2002: 2254
Mensagens recebidas desde 07/01/1999: 191652
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista: mailto:[EMAIL PROTECTED]

Responder a