Erro Compilação.

Iniciado por FFrois, 21 de Fevereiro de 2010, 22:20

tópico anterior - próximo tópico

FFrois

Ola pessoal  ;D , sou novo aqui no Forum e este é meu primeiro post, estou usando o emacs para escrever o programa e o gcc para compila e uso o ubuntu.

Estou com o seguinte problema quando vou compilar.


make -k
g++ -g -fno-omit-frame-pointer siam.o giv0.o erro.o tex.o indata.o lanczos.o iter.o matel.o matrix.o eigen.o primitive.o iter0.o invar.o -o siam -lm -L/usr/gnu/lib
siam.o: file not recognized: File format not recognized
collect2: ld returned 1 exit status
make: ** [siam] Erro 1

Este programa está compilando em outro pc que usa Debian e em outro que tem windows onde uso o mingw.

alguêm tem alguma ideia ???? ??? ??? ??? ??? ???

parece que é algum erro nas bibliotecas que o gcc usa não sei direito...

Darcamo

Onde esses arquivos .o foram compilados?
Em geral não funciona compilar arquivos com um compilador e tentar linkar com outro. Até mesmo versões diferentes do mesmo compilador podem "não se entender" e dar problema se você tentar linkar arquivos objetos criados com diferentes versões.


Ps: também uso o Emacs para programar (para quase tudo, na verdade). Ajuda muito criar um Makefile.
Dá uma olhada no tópico http://ubuntuforum-pt.org/index.php/topic,21155.0.html

FFrois

Citação de: Darcamo online 22 de Fevereiro de 2010, 07:18
Onde esses arquivos .o foram compilados?
Em geral não funciona compilar arquivos com um compilador e tentar linkar com outro. Até mesmo versões diferentes do mesmo compilador podem "não se entender" e dar problema se você tentar linkar arquivos objetos criados com diferentes versões.


Ps: também uso o Emacs para programar (para quase tudo, na verdade). Ajuda muito criar um Makefile.
Dá uma olhada no tópico http://ubuntuforum-pt.org/index.php/topic,21155.0.html


Ola, Resolvi o problema era justamente isso o que vc falou, eu copiei toda a pasta onde está o programa de outro lugar (no caso foi do windows) então todos os objetos ( .o ) já estavam criados e na hora de compilar dava esse problema, o que eu fiz foi apagar todos os objetos e deixar o compilador trabalhar por si e criar seus próprios objetos na compilação e foi tranquilo. Já tinha um Makefile bem escrito... era o problema nos .o mesmo.

problema Resolvido.

Abraços