У меня есть файл .c, в котором есть Python.h, и я хочу его скомпилировать.
Это то, что я ввожу в строку cmd в данный момент cl -IC:\[...]\Python35\include -IC:\[...]\Python35\libs TestFilePython.c
Что приводит к ошибке: LINK : fatal error LNK1104: cannot open file 'python35.lib'
Я нашел это, которое идеально подходит для моего вопроса, но я не могу понять, какие LIBPATH
я должен включить. Может ли кто-нибудь помочь мне с этим?
изменить: Итак, я использую cpp, поэтому setup.py выглядит так:
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules = cythonize(
"TestFilePython.pyx", # our Cython source
language="c++", # generate C++ code
))
Запуск python setup.py build_ext --inplace
приводит к созданию .cpp (.c перед параметром языка)
Теперь я пытаюсь скомпилировать этот .cpp. Во время поиска я только что наткнулся на идею, что мне нужно включить опцию встраивания (это может решить проблему отсутствия точки входа), все еще пытаясь понять, что я могу сделать.
TestFilePython.pyx просто: print("Hello World")
, если меня спросят, я также могу распечатать содержимое созданного cpp.
/link /LIBPATH:C:\[...]\Python35\libs
. Кроме того, параметры компоновщика должны быть указаны после исходного файла (файлов). - person Eryk Sun   schedule 16.01.2016cl -IC:\Users\[...]\Python35\include TestFilePython.cpp /link /LIBPATH:C:\Users\[...]\Python35\libs
выдает ошибкуentry point must be defined
- person Nimitz14   schedule 16.01.2016main
илиwmain
. Если вы создаете DLL/PYD, используйтеcl /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
, он дает мне файл .cpp, с которым я могу работать. Я использую VS2015, поэтому люди говорят мне, что это должно работать, и я планирую переустановить его в какой-то момент, но прежде чем я это сделаю, я подумал, что попытаюсь найти способ обойти это. - person Nimitz14   schedule 16.01.2016import distutils.ccompiler;
distutils.ccompiler.get_default_compiler()
. Это должно быть «msvc». - person Eryk Sun   schedule 16.01.2016--compiler=msvc
в конце. я всегда использовал msvs - person Nimitz14   schedule 16.01.2016