Saya memiliki file .c yang berisi Python.h dan saya ingin mengkompilasinya.
Inilah yang saya masukkan ke baris cmd saat ini cl -IC:\[...]\Python35\include -IC:\[...]\Python35\libs TestFilePython.c
Yang menghasilkan kesalahan: LINK : fatal error LNK1104: cannot open file 'python35.lib'
Saya menemukan ini yang tampaknya sangat cocok untuk pertanyaan saya, tetapi saya tidak tahu LIBPATH
s apa yang harus saya sertakan. Bisakah seseorang membantu saya dengan itu?
edit: Oke, jadi saya sebenarnya menggunakan cpp sehingga setup.py terlihat seperti ini:
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules = cythonize(
"TestFilePython.pyx", # our Cython source
language="c++", # generate C++ code
))
Menjalankan python setup.py build_ext --inplace
menghasilkan .cpp yang dibuat (.c sebelum opsi bahasa)
Sekarang saya mencoba mengkompilasi .cpp itu. Saat mencari, saya baru saja menemukan gagasan bahwa saya perlu menyertakan opsi penyematan (ini mungkin menyelesaikan masalah tidak ada titik masuk), masih mencoba melihat apa yang bisa saya lakukan.
TestFilePython.pyx hanya: print("Hello World")
, jika ditanya saya juga bisa mencetak isi cpp yang dibuat.
/link /LIBPATH:C:\[...]\Python35\libs
. Selain itu, opsi tautan harus dicantumkan setelah file sumber. - person Eryk Sun   schedule 16.01.2016cl -IC:\Users\[...]\Python35\include TestFilePython.cpp /link /LIBPATH:C:\Users\[...]\Python35\libs
memberi saya kesalahanentry point must be defined
- person Nimitz14   schedule 16.01.2016main
atauwmain
. Jika Anda membuat DLL/PYD gunakancl /LD ...
. - person Eryk Sun   schedule 16.01.2016import TestFilePython
? - person Eryk Sun   schedule 16.01.2016don't know how to compile c/c++ code on platform 'nt' with 'msvs' compiler
, itu memberi saya file .cpp yang bisa saya kerjakan. Saya menggunakan VS2015, jadi orang-orang mengatakan kepada saya bahwa ini akan berfungsi, dan saya berencana untuk menginstalnya kembali suatu saat nanti, tetapi sebelum saya melakukannya, saya pikir saya akan mencoba dan mencari jalan keluarnya. - person Nimitz14   schedule 16.01.2016import distutils.ccompiler;
distutils.ccompiler.get_default_compiler()
. Seharusnya 'msvc'. - person Eryk Sun   schedule 16.01.2016--compiler=msvc
di akhir. saya selalu menggunakan msvs - person Nimitz14   schedule 16.01.2016