您好我正在尝试从pyx文件(cython文件)调用CreateFileA win32函数(windows.h已经包含在pxd文件中),但是它不起作用...有没有人试图做所以...需要帮助
更多信息: 使用Mingw进行编译时没有错误,但在执行时我得到-1作为返回值..
插图:
myfile.pxd
cdef extern from "ftd2xx.h":
stuff....
# CreateFileA declaration
HANDLE **CreateFileA***(LPCSTR lpFileName, DWORD dwDesiredAccess,
DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile)*
myfile.pyx
cimport myfile.pxd
def somefuction()
HANDLE a = myfile.**CreateFileA**(......)
执行我得-1
答案 0 :(得分:2)
负1(-1返回)表示存在多个错误。你可能是从错误的地方来的。
无论如何,我的python经验告诉我你可以使用Mark Hammond的win32all来调用win32api。这应该可以解决你所有的问题。
如果没有:
我在Stack Overflow周围偷窥,发现很多人都有类似的问题。以下是您可以尝试的一些事项:
mingw_setup_args={'options': {'build_ext': {'compiler': 'mingw32'}}}
import pyximport; pyximport.install(setup_args=mingw_setup_args)
浏览到:c:\ Python2x \ Lib \ distutils \ distutils.cfg:
[build]
compiler = mingw32
[build_ext]
compiler = mingw32
我鼓励你分道扬..如果您在此页面上注意到右侧边栏“相关”div,您会看到有很多人提出了类似的问题。我希望它能让你开始。或者,我建议您寻找更好的编译器 - 这将为您提供完整的错误报告。在此处发布错误报告。如果您要排除任何内容,请尽可能精确,以便尽可能少地删除有用的数据。如果找到完整的错误消息,您肯定可以找到解决方案。
我几乎可以肯定某个地方存在完整的错误报告,你只是不知道在哪里看。我在编程生涯的早期就发现,当程序员看起来“没有错误”时,情况总是如此:他们看错了地方。因此,您应该找出在哪里查找完整的错误报告。