Я установил Python 3k (C:\Python30) и Visual Studio Professional Edition 2008.
Я изучаю этот.
Вот проблема:
C:\hello>dir
Volume in drive C has no label.
Volume Serial Number is 309E-14FB
Directory of C:\hello
03/21/2009 01:15 AM <DIR> .
03/21/2009 01:15 AM <DIR> ..
03/21/2009 01:14 AM 481 hellomodule.c
1 File(s) 481 bytes
2 Dir(s) 10,640,642,048 bytes free
C:\hello>cl /LD hellomodule.c /Ic:\Python30\include c:\Python30\libs\python30.lib /link/out:hello.
dll
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
hellomodule.c
c:\hello\hellomodule.c(26) : warning C4716: 'inithello' : must return a value
Microsoft (R) Incremental Linker Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
/out:hellomodule.dll
/dll
/implib:hellomodule.lib
/out:hello.dll
hellomodule.obj
c:\Python30\libs\python30.lib
Creating library hellomodule.lib and object hellomodule.exp
hellomodule.obj : error LNK2019: unresolved external symbol _Py_InitModule referenced in function
_inithello
hello.dll : fatal error LNK1120: 1 unresolved externals
C:\hello>
В чем проблема? Пожалуйста, направляйте меня.
Если Python установлен в c:\python30
, почему вы ищете библиотеки в c:\Python24\libs\python30
?
И теперь, когда вы изменили вопрос, чтобы исправить это: -),
Я не думаю, что Py_InitModule
уже доступен, вам нужно использовать PyModule_Create
(это может измениться с ранних бета-версий Py3k, которое я смотрел в последний раз).
Основываясь на ваших комментариях, Дэвид, я бы посоветовал вам избегать сайтов HowTo за пределами официальных документов Python (я подозреваю, что они устарели). Было много работы на интерфейсе расширения на уровне 3.0, и лучшее место для поиска - либо на 3.0 docs или 3.1 alpha docs.
Конкретные инструкции по сборке Windows здесь.