LINUX.ORG.RU

[ld] cannot find entry symbol _start. Что за хрень??

 


0

0

Здравствуйте. Раньше никогда такой проблемы при компиляции не испытывал, сейчас же какая-то ерунда. Кто-нибудь может прокомментировать это:

$ cat main.c
int main(void)
{
  return 0;
}
$ gcc -c main.c
$ ld main.o
ld: warning: cannot find entry symbol _start; defaulting to 08048074
$ ./a.out
Ошибка сегментирования
$ ld --version
GNU ld (GNU Binutils) 2.20.1.20100318
$ gcc --version
gcc (GCC) 4.4.3 20100316 (prerelease)

??

P.S. Гугл рыл, толком ничего не понял. Раньше ведь компилял без проблем, что сейчас произошло...

Arch.

Елы-палы, кто ж так линкует. Вот так надо:

$ /usr/lib/gcc/i486-linux-gnu/4.3.3/collect2 --eh-frame-hdr -m elf_i386 --hash-style=both -dynamic-linker /lib/ld-linux.so.2 -o qwe -z relro /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.3.3/crtbegin.o -L/usr/lib/gcc/i486-linux-gnu/4.3.3 -L/usr/lib/gcc/i486-linux-gnu/4.3.3 -L/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.3.3/../../.. main.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/i486-linux-gnu/4.3.3/crtend.o /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crtn.o

а еще лучше вот так:

$ gcc -o prog main.o

d_a ★★★★★
()
Ответ на: комментарий от Torvus

если у меня 100 таких .c файлов, было бы неплохо контролировать процесс компиляции, это можно достич раньше было выполнением над каждым gcc -c src_n.c, ..., а потом ld src_1.o src_2.o...src_n.o

кароче говоря понял, теперь надо юзать gcc везде...
gcc src_1.o src_2.o...src_n.o

anterior
() автор топика

> Раньше ведь компилял без проблем, что сейчас произошло...

Значит утверждаешь, что раньше компилял таким образом без проблем?

anonymous
()
Ответ на: комментарий от anonymous

Ну да, компилял так я, помню времена... =)

anterior
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.