Ynt: Linux Eclipse Hatası

Başlatan baran123, 25 Eylül 2015, 17:47:10

baran123

Ubuntu da Eclipse kullanarak C kodu derlemeye çalışıyorum C projesi oluşturup derlediğimde şu çıktıyı alıyorum.

17:43:18 **** Incremental Build of configuration Debug for project HelloWorld ****
make all 
Building target: HelloWorld
Invoking: Cross GCC Linker
gcc  -o "HelloWorld"  ./main.o   
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 21
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
make: *** [HelloWorld] Error 1

17:43:18 Build Finished (took 119ms)


Kod ise şu şekilde
/*
 * main.c
 *
 *  Created on: Sep 25, 2015
 *      Author: mrekrem
 */
#include <stdio.h>

int main(int argc, char * argv[])
{
	printf("Hello World");
	return 0;
}


mesaj birleştirme:: 25 Eylül 2015, 17:50:29

Tekrar build edip çalıştırınca düzeldi.
Sanırım Linux'a alışmam biraz zaman alacak. :)

Tagli

Komut satırında sorunsuz olarak derleyebiliyor musun?
Terminalden ilgili klasöre gidip aşağıdakine benzer bir komut ile derlemeyi dene.
gcc kaynak_kod.c -o calisir_dosya

Derleniyorsa, çıktı dosyasını aşağıdaki gibi çalıştırabilirsin:
./calisir_dosya
Gökçe Tağlıoğlu

baran123

Hocam executable dosyası var ama proje dosyasını açıp tıkladığım zaman hiç bir şey olmuyor.Birde komut satırından denediğim zamanda aynı.
Extra bir soru olarak Eclipse de Run işlemini nasıl yapabiliri.Sürekli projeye sağ tıkalyıp > run as > local c/c++ application 'ı tıklamam gerekiyor.

Tagli

#3
Derleme işlemi başarısız ise nasıl ortada bir çalıştırılabilir (executable) dosya oluyor ki?
Komut satırında derleme başarısız oluyorsa Eclipse'i falan boşver, daha ciddi bir sorunun var demektir. Sorun her neyse önce onu bulup çözmelisin.

Verdiğin kodu terminalde (komut satırında) ilk mesajımda bahsettiğim şekilde derledim, bir sorun yok. Ancak çıktıyı görebilmek için "Hello World\n" şeklinde yazmalısın. Yoksa tampon bellek ekrana dökülemeden program sonlandığı için bir yazı çıkmıyor.
Eclipse'i epeydir kullanmadım (zaten düzenli olarak kullanmışlığım yoktu hiç.) Ama aklımda yanlış kalmadıysa yukarıda bir yerde "play" tuşu gibi bir şey olmalı, oradan çalışıyordur muhtemelen. Yoksa sanırım debug özelliği ile de kodu çalıştırabilirsin. Bunun için böcek tuşuna bas.

Düzeltme: Derleme işlemini başarılı bir şekilde gerçekleştirdiğini yeni farkettim. Sonradan yazmışsın, gözümden kaçmış.
Gökçe Tağlıoğlu

Tesla.25

Eclipse de öyle bir sıkıntı vardı. Ama inan ki problemin ne olduğunu tam hatırlamıyorum. İlk derlemede bir dosya olmadığı için hata veriyordu ama aynı zamanda da derliyordu. İkinci çalıştırmada sıkıntı kalkıyordu.

Eğer özel bir nedenin yoksa Eclipse kullanmada, C/C++ için CodeBlocks, Qt Creator gibi IDE leri öneririm.
Özellikle QtCreator u tek geçerim.

Diğer sorun için, Eclipse 'in kısayol tuşlarını araştır.

sovalye

Hocam, konudan bagimsiz ama ide onerisi gelince yazayim dedim. Visual studio mac ve linux surumlerini de yayinladi. Ide olarak onu da kullanabilirsiniz.

baran123

#6
Visual studio dan kaçmak için Linux e geçtim :D Hali hazırda her şey olunca bilgisayarda yavaşladı ve linux ogrenmek istedim.
Çok hoşuma gitti ama C için IDE arıyorum.Codeblocks a bakacağım.
Teşekkür ederim.

mesaj birleştirme:: 25 Eylül 2015, 23:44:09

Ek : CodeBlocks bi harika dostum !

sovalye

Alıntı yapılan: Baran Ekrem - 25 Eylül 2015, 23:22:26
Visual studio dan kaçmak için Linux e geçtim :D Hali hazırda her şey olunca bilgisayarda yavaşladı ve linux ogrenmek istedim.
Çok hoşuma gitti ama C için IDE arıyorum.Codeblocks a bakacağım.
Teşekkür ederim.

mesaj birleştirme:: 26 Eylül 2015, 23:44:09

Ek : CodeBlocks bi harika dostum !

Kaçabilirsiniz ama saklanamazsınız :D Galiba bir tek ben seviyorum visual studio 'yu. (C++)

baran123

Yok canım seviyorumda bilgisayar biraz eskide hafif bir sistem kurmak istedim.