3

Microsoft Windows SDKに付属する を使用して.c、Cython によって作成されたファイルをファイルにコンパイルしようとしています。.pydcl.exe

これはPython 2.7 64 ビット用の Windows 7 64 ビットで Cython をビルドするための推奨.pydパッケージであるため、同じコンパイラを使用してファイルを作成することをお勧めします。

私の現在の呼び出しでは、次のcythoncc.batファイルを使用しています。

set CLPATH="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\cl.exe"
SET INCLUDE="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include";"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include";"C:\Python27\include";"C:\Python27\Lib\site-packages\numpy\core\include";
SET LIB="C:\Python27\libs";"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\amd64";"C:\Program Files\Microsoft SDKs\Windows\v7.0\Lib\x64";
SET CFLAGS="/O2 /favor:<INTEL64>"
%CLPATH% %CFLAGS% /Fo%1.pyd %2.c

問題は最後の行にあると思いますが、まだわかりません...エラーが表示されます:

/out:_conecyl.exe
_conecyl.pyd
   Creating library _conecyl.lib and object _conecyl.exp
LIBCMT.lib(crt0.obj) : error LNK2019: unresolved external symbol main referenced
 in function __tmainCRTStartup
_conecyl.exe : fatal error LNK1120: 1 unresolved externals

.pydplus a.libファイルを作成します。

どんな助けでも大歓迎です!ありがとうございました!

4

2 に答える 2

3

ドキュメントここsetup.pyで説明されているレシピを使用してください


Saulloによる編集:

setup.py次のように見えました。

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

ext_modules = [Extension("_conecyl", ["_conecyl.pyx"])]

setup(
  name = '_conecyl',
  cmdclass = {'build_ext': build_ext},
  ext_modules = ext_modules
)

そして、次の呼び出しで完璧に機能しました:

setenv /x64 / release
set INCLUDE=%INCLUDE%;C:\Python27\include;C:\Python27\Lib\site-packages\numpy\core\include
set LIB=%LIB%;C:\Python27\libs
set DISTUTILS_USE_SDK=1
python setup.py install
于 2013-08-11T09:54:02.573 に答える