Ir ao conteúdo

Ajuda - Erro De Biblioteca No Dev C++


andrehigher

Posts recomendados

Postado

Bom dia Galera...

estou com certa urgência com esse trabalho porque vale minha vida hehe =P

eu curso Sistemas de Informação na UFMG e a professora passou para criarmos um projeto simples em .c .

Se não me engano, o projeto criado deve ter no mínimo 3 arquivos: main.c, exemplo.c e exemplo.h

mas quando eu inclui o exemplo.h no main.c e no exemplo.c com : "#include "exemplo.h" ele dá o seguinte erro:

"In file included from main.c"

já tentei de todas as formas incluir essa biblioteca, editando, colocando na pasta /lib e na pasta /include , mas não deu MESMO.

Se alguém puder me ajudar..

obrigado desde já!

^_^

Postado

Oi, varias coisas podem estar acontecendo...

a mais provavel é que existe algum erro no código do arquivo que voce esta tentando incluir, voce pode estar esquecendo um ; ou } mas no caso do dev-cpp de vez em quando ele da uns erros misteriosos, de modo que voce tambem pode tentar clicar no botão "Build all" para que o dev compile novamente todos os arquivos e faça a link-edição tudo de novo...

Tenta isso, e se nao resolver posta aqui o conteudo dos arquivos.

Ps: como voce incluiu esse arquivo? em "new file" ou "add files to..." ?

Postado

Salve, andrehigher.

Experimenta isso aqui:

No arquivo de inclusão .H

// crie uma macro. a macro merece o mesmo nome do arquivo
#ifndef __exemplo_h__
#define __exemplo_h__

// seus protótipos aqui, com declaração EXTERN, ex:

extern void minha_func ( void );

#endif

E no módulo em que você vai incluir a biblioteca "exemplo.h", é bom especificar o patch completo do arquivo, p. ex:

#include "c:\header\exemplo.h"

No compilador, como disse a Gabriela, você precisa incluir o fonte C (exemplo.c) no seu projeto.

Postado

Seguinte, eu fiz as mesmas coisas, mas continuou os erros...

vê se fiz algo errado:

// andre.h

#ifndef __andre_h__

typedef struct {

int real, imag;

} complexo;

extern complexo;

extern void atribui(int real, int imag,&complexo num);

extern void imprime(complexo num);

extern void copia(complexo &numero, complexo num);

extern void soma(complexo numero, complexo num);

extern void ehreal(complexo num);

#endif

ta certo o arquivo da biblioteca nao?

Postado
Seguinte, eu fiz as mesmas coisas, mas continuou os erros...

vê se fiz algo errado:

// andre.h

#ifndef __andre_h__

#define __andre_h__

extern void atribui(int real, int imag, complexo *num);

extern void imprime(complexo num);

extern void copia(complexo *numero, complexo num);

extern void soma(complexo numero, complexo num);

extern void ehreal(complexo num);

#endif

ta certo o arquivo da biblioteca nao?

Experimenta!

[]s

Postado

voce cometeu um pequeno erro...

typedef struct {

int real, imag;

} complexo;

extern complexo; Q U A L O N O ME ? ? ?

struct sem nome nunca é um bom negocio.. tenta assim

typedef struct complexo{

int real, imag;

};

extern complexo Z1;

agora sim, esta bem claro que Z1 é uma variavel do tipo complexo e que deve ser tratada como "extern"

pela lógica que estamos acostumados a maneira como voce fez esta correta, mas o dev acaba se confundindo

Tambem tem um segundo erro..

"extern void atribui(int real, int imag,&complexo num);"

passa o "&" pro final da palavra "comprexo" (inicio da palavra "nun")

espero que resolva...

Postado

Mauricio e Gabriela

MUITO obrigado... MESMO!!

deu certo a biblioteca... só está dando um erro chamado "link error" na função.. mas aí acho que já é pedir demais..

vou tentar resolver e qualquer coisa, posto aqui novamente

novamente, MUITO obrigado!

:D

Postado

Caro andrehigher, como você esta utilizando o dev para a criação de uma estrutura de dados você deve criar um projeto Arquivo->Novo->projeto e lá marcar as opções desejadas

*Console aplication

*Projeto C

*nome do projeto (opcional)

Como você ja tem o seu arquivo fonte e suas bibliotecas, .c e .h respectivamente basta você adcionar ao projeto, sem medo de ser feliz você já pode compilar.

Abraço

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!