yo0hoo
Июнь 24, 2006 22:09:44
Пробую внедрить код питона в си под win32, и у меня выдает ошибки. Скажите, какими компиляторами это более удобно сделать.
Код программы:
#include <Python.h>
int main(){
Py_Initialize();
PyRun_SimpleString(“print 2*2”);
Py_Finalize();
return 0;
}
Выдает такие ошибки при компиляции:
Info :Linking D:\BC5\BIN\NONAME00.exe
Error: Error: Unresolved external ‘_Py_Initialize’ referenced from D:\BC5\BIN\NONAME00.OBJ
Error: Error: Unresolved external ‘_PyRun_SimpleString’ referenced from D:\BC5\BIN\NONAME00.OBJ
Error: Error: Unresolved external ‘_Py_Finalize’ referenced from D:\BC5\BIN\NONAME00.OBJ
slav0nic
Июнь 25, 2006 11:16:32
pythonXX.lib надо же прилинковать
yo0hoo
Июнь 25, 2006 17:37:25
Как я понимаю, нужно все библиотеки python-а скинуть в каталог компилятора C/C++ include, а вот pythonxx.lib куда кидать? В LIB?
slav0nic
Июнь 25, 2006 19:00:34
в include хедеры всегда кидались, и lib либы, ты чем хоть компилишь?)
SAnty
Июнь 26, 2006 09:37:08
В среде программирования, в какой вы работаете, в параметрах проекта должно быть установка путей к библиотекам и хедер файлам.
Указываете путь к библиотеке, например: C:\Python24\libs и путь к каталогу h файлов, например: C:\python24\include.
И так как Пайтон написан на С, компилить можна на любом компиляторе который поддерживает стандарт С99.
Например: Mingw gcc, OpenWatcom, VC, Borland. Я ещё бы хотел попробовать сделать прогу на PellesC or LCC-Win32, но как-то руки не доходят.
Спасибо.
yo0hoo
Июнь 26, 2006 10:51:08
Спасибо, вот что касается стандарта C99 я действительно не знал. Просто вся компиляция проходила на старых компиляторах с поддержкой стандарта C89.