Встраивание Python в C, компоновка не удалась с неопределенной ссылкой на Py_Initialize.Python

Программы на Python
Гость
Встраивание Python в C, компоновка не удалась с неопределенной ссылкой на Py_Initialize.

Сообщение Гость »


Я пытаюсь скомпилировать пример из документации https://docs.python.org/2.7/extending/embedding.html, и мой код выглядит точно так же, как код версии 5.1:

#include интервал main(int argc, char *argv[]) { Py_SetProgramName(argv[0]); Py_Initialize(); PyRun_SimpleString("время импорта, ctime\n" "print 'Сегодня', ctime(time())\n"); Py_Finalize(); вернуть 0; } Для его компиляции я использую следующую команду, которая у меня работает нормально и дает мне нужный объектный файл:

gcc -c $(python2.7-config --cflags) embedpy.c Чтобы связать его, я использую следующую команду, которая приводит к следующей ошибке:

gcc $(/usr/bin/python2.7-config --ldflags) embedpy.o embedpy.o: В функции main: /home/miguellissimo/embedpy.c:6: неопределенная ссылка на Py_SetProgramName. /home/miguellissimo/embedpy.c:7: неопределенная ссылка на Py_Initialize /home/miguellissimo/embedpy.c:8: неопределенная ссылка на PyRun_SimpleStringFlags /home/miguellissimo/embedpy.c:11: неопределенная ссылка на Py_Finalize Collect2: ошибка: ld вернул 1 статус выхода Я не могу понять, что я делаю неправильно или что я забыл, чтобы пример работал.

PS: Команда python2.7-config на моем компьютере с Xubuntu выдает следующий результат:
>>> python2.7-config --cflags -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 -fno-stri ct-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size= 4 -Wformat -Werror=format-security -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-pr ототипы >>> python2.7-config --ldflags -L/usr/lib/python2.7/config-x86_64-linux-gnu -L/usr/lib -lpthread -ldl -luti l -lm -lpython2.7 -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions

Вернуться в «Python»