nerezus
Апрель 22, 2007 16:48:40
#include <Python.h>
#include <string.h>
static PyObject *message(PyObject *self, PyObject *args) {
char *fromPython, result;
if (!PyArg_Parse(args, “(s)”, &fromPython)) {
return NULL;
} else {
strcpy(result, “Hello ”);
strcat(result, fromPython);
return Py_BuildValue(“s”, result);
}
}
static struct PyMethodDef hello_methods = {
{“message”, message, 1},
{NULL, NULL}
};
void inithello() {
(void) Py_InitModule(“hello”, hello_methods);
}
Вопрос: как компилить под виндой?
gcc –static “-IC:\Devel\Python25\Include” main.c -o hello.dll
Но тут надо прилинковать файл. libpython25.a Как?
-l пробовал в куче вариантов, не находит =\
gcc из Code::Blocks юзаю, когда в нем делаю, он линкует, но с неправильными параметрами.
slav0nic
Апрель 22, 2007 17:23:36
-Lпуть_к_либам -lpython25 добавь
nerezus
Апрель 22, 2007 19:45:48
“C:\Program Files\Microsoft Visual Studio\VC98\Bin\cl.exe” /nologo /TC /IC:\Devel\Python25\Include /GD hello.c /link /DLL /LIBPATH:C:\Devel\Python25\libs /RELEASE /EXPORT:inithello /out:hello.pyd
Этим под VS6 компилит. Хотелось бы под gcc теперь.
bialix
Апрель 23, 2007 00:44:46
почему вы не пользуетесь поддержкой в distutils? напишите setup.py, потом
setup.py build_ext –compiler=mingw32
должно работать.
OlDer
Апрель 24, 2007 11:10:49
nerezus
Хотелось бы под gcc теперь.
Вот этот gcc попробуйте использовать:
http://www.develer.com/oss/GccWinBinariesОн при установке сам прописывается в distutils и потом под винду все компилируется простой командой:
python setyp.py bdist_egg
;)
OlDer
Апрель 24, 2007 16:33:52
bialix
bdist_egg?
Да, а что не так? Вернее, я вижу, что неправильно написал слово “setup”, а bdist_egg, вроде, правильно? ;)
SAnty
Апрель 24, 2007 16:48:11
bialix
Апрель 24, 2007 18:25:35
OlDer
bialix
bdist_egg?
Да, а что не так? Вернее, я вижу, что неправильно написал слово “setup”, а bdist_egg, вроде, правильно? ;)
Я надеюсь вы улавливаете разницу между 3 буквами ext и 3 буквами egg.
> python setup.py --help-commands
Standard commands:
build build everything needed to install
build_py "build" pure Python modules (copy to build directory)
build_ext build C/C++ extensions (compile/link to build directory)
build_clib build C/C++ libraries used by Python extensions
build_scripts "build" scripts (copy and fixup #! line)
clean clean up output of 'build' command
install install everything from build directory
install_lib install all Python modules (extensions and pure Python)
install_headers install C/C++ header files
install_scripts install scripts (Python or otherwise)
install_data install data files
sdist create a source distribution (tarball, zip file, etc.)
register register the distribution with the Python package index
bdist create a built (binary) distribution
bdist_dumb create a "dumb" built distribution
bdist_rpm create an RPM distribution
bdist_wininst create an executable installer for MS Windows
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help