eclipse'de make hatası?

Başlatan ubunturk, 28 Haziran 2010 - 17:28:06

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

ubunturk


**** Build of configuration Debug for project Hello ****

make all
Building target: Hello
Invoking: GCC C Linker
gcc  -o"Hello"  ./helo.o   
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [Hello] Error 1
_,-O
O(_)) ubuntu
 `-O

sema

Kodları da görebilir miyiz? helo.c diye mi kaydettiniz?
susema

ubunturk

#include<stdio.h>
int main()
{
printf("Klasik hello world progamı yazmıştım.Kubuntu'ya yeni yükledim eclipse'yi ama c derliyemedim\n");
return 0;
}
_,-O
O(_)) ubuntu
 `-O

mce

Eclipse dışında, konsolda gcc ile derlemeyi denediniz mi? Sonuç nedir?

sema

Söylemek istediğim, uygulamayı hello.c diye kaydetmişsiniz gördüğüm kadarıyla ama derleme helo.c diye geçmiş?
susema

sem

Kodu derlemeye başlayacak noktayı bulamamış sanıyorum... main yerine main yazdığınızdan emin olun derim... main doğru ise kullanılan IDE nin ayarlarını kontrol edin... içinde main() fonksiyonu olmayan bir kod derlenmeye çalışıyor sanırım...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

sema

Alıntı yapılan: ubunturk - 28 Haziran 2010 - 17:28:06
**** Build of configuration Debug for project Hello****

Sanırım söylediğim gibi. Hello olarak kaydedilmiş, ama helo.o olarak geçirilmiş. Kullanmadığım için tahmin etmeye çalışmıştım yalnız benzer örneklere bakınca alıntıladığım ve başlıktan da anlaşıldığı üzere Hello, program ismi (Debug for project Hello, bu kısım dikkatimden kaçmış).. Bu arada Eclipse'i sevdim ama oldukça uğraştırıcı gibi duruyor ilk bakışta. Dergimizde anlatsak güzel olur sanırım.
susema

sem

Aynen güzel olur aslında dergide yayınlasak...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

sema

Aynen, anlatalım :) Asp.NET'e hâlâ bakamadım zaten, bilmiyorum çünkü, onun yerine bunu anlatsam :P
susema

sem

#9
Asp.Net isteyene sormalı =)... Ama eclipse ile ilgili daha önceden de başlık açılmıştı bu konuyu ele alalım cidden, iyi fikir gerçekten...

Bu arada konu iyice dağılmışken =)=) Şunu da diyeyim, "in function start" demiş,  programın açılışı ilk aşaması için çağırılan fonksiyon değil mi o? Bir de main için uyarı verilmiş, o da kodun derlenmeye başlandığı nokta. O nedenle ya yanlış bir dosyayı derliyor, ya da derlenen dosyada main yanlış yazılmış olabilir diyorum...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

eribol

Alıntı Yapmake all
Building target: Hello
Invoking: GCC C Linker
gcc  -o"Hello"  ./helo.o 
Gelişmiş idelerde inşa et(build) komutu bir sürü parametreye bağlı olabilir. O yüzden inşa et yerine sadece derle komutu kullanılsa istenilen çıktılar elde edilir.

sem

GCC ile derledim ve aldığım hata çok yakın çıktı. Koddaki ana fonksiyonun yazılışına dikkat edin...

#include <stdio.h>

int mian()
{
   printf("Herkese Selamlar\n");
   return 0;
}




Aldığım hata;
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status

".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

ubunturk

Gcc ile normal derleme yapabiliyorum.
Dosya adını düzeltsemde aynı çıktıyı veriyor
**** Build of configuration Debug for project Hello ****

make all
Building file: ../Hello.c
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"Hello.d" -MT"Hello.d" -o"Hello.o" "../Hello.c"
Finished building: ../Hello.c

Building target: Hello
Invoking: GCC C Linker
gcc  -o"Hello"  ./Hello.o   
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [Hello] Error 1

Ekran Görüntüsü burda 2 problem var

_,-O
O(_)) ubuntu
 `-O

sem

#13
Anlayamadım, main de doğru yazılmış. Sanırım Eclipse ayarları ile ilgili bir sorun yaşıyorsunuz. Çünkü dosyayı ../Hello olarak kaydedip, verilen iki GCC komutu terminalden verince de hata ya da uyarı vermiyor. Eclipse kullanmayı bilmediğim için bir kanıya varamadım. Umarım çözersiniz sorununuzu... Tek söyleyebileceğim bir önceki mesajıma bakarsanız, main fonksiyonu içermeye bir dosyanın derlenmeye çalıştığı... Gerçi derleme değil bağlama aşamasında sorun yaşıyorsunuz... Sonuç olarak main içermeyen bir dosya işlem yapılmaya çalışıyor diye düşünüyorum. Kullandığınız IDE'nin ayarlarını kontrol etmenizi öneririm... İyi günler...

@ubunturk, Yeni C projesi'ne kaynak klasörü, kaynak kod klasörü içine kanyak kod dosyası oluşturduğum zaman, herhangi bir sorun ile karşılaşmıyorum. Siz hangi yol ile kaynak kod dosyası oluşturup derliyorsunuz?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

ubunturk

Bende aynı yolla kaynak dosyası oluşturuyorum.Sanırım dediginiz gibi ayarlardan kaynaklanıyor.Eclipse IDE ile daha önce pardus'ta çalışmıştım sorun yaşamadım.Genelde Netbeans kullanıyorum çözemezsem Netbeans ile devam edicem gibi...
_,-O
O(_)) ubuntu
 `-O

sem

Ben hiç bir ayarı ile oynamadım, doğrudan kullandım. Önceden dediğim gibi, önce boş proje oluşturdum, sonra projeye kaynak kod kalsörü, sonra yaratılan kaynak kod klasörüne, kaynak kod (.c uzantılı) ekledim, doğrudan çalıştı. Sizde neden böyle bir hata veriyor anlamadım. Bir daha indirip deneyin isterseniz çünkü "default" (Türkçe'sini bilmiyorum) ayarlarda bir sorun yok... Umarım çözersiniz sorununuzu. Kolay gelsin, iyi akşamlar...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

heartsmagic

Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.