我正在尝试将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函数。