неопределенная ссылка на `main 'не может найти символ входа _start - PullRequest
1 голос
/ 08 марта 2019

Я пытаюсь скомпилировать программу на Python в файл c. Во-первых, пройдя и устранив десятки ошибок с помощью десятков флагов связывания, в конце концов осталась одна ошибка. Когда я печатаю:

$ gcc -Os -I /usr/include/python3.6m -o example example_cy.c -lpython3.6m     -lpthread -lm -lutil -ldl

ошибка:

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':                                                
(.text+0x20): undefined reference to `main'                                                                                                          
collect2: error: ld returned 1 exit status

Затем я добавляю -nostartfiles :

gcc -Os -I /usr/include/python3.6m -o example example_cy.c
-lpython3.6m -lpthread -lm -lutil -ldl -nostartfiles

Ошибка становится:

/usr/bin/ld: warning: cannot find entry symbol _start; defaulting to  
00000000000022f0

Я получил изображение, что проблема в том, что в моем файле .c нет функции main и _start.

...