LM凌莫 发表于 2024-8-25 11:49:34

Nuitka库打包成DLL的问题

我想将这个py文件打包成dll,包括里面BWM_img_add和BWM_img_out这俩函数,但打包出来的DLL没有这俩函数,Cython和Nuitka打包出来都一样,有没有大佬知道是哪弄少了。

FishC 发表于 2024-8-25 11:49:45

fish油你好,

要确保 `BWM_img_add` 和 `BWM_img_out` 函数被正确导出,你可以在代码文件开头显式指定导出这些函数。举个例子,如果你在用Cython,可以这样做:

1. 在 `.pyx` 文件中定义函数并使用 `cdef extern` 声明导出:

# cython: language_level=3
cdef extern from *:
    cdef void BWM_img_add()
    cdef void BWM_img_out()

def BWM_img_add():
    # Your implementation here

def BWM_img_out():
    # Your implementation here

2. 用Nuitka打包时,确保入口文件指定正确并且使用动态链接库(DLL)模式进行编译。例如通过命令行执行:

nuitka --module your_script.py

如果你使用的是Python函数并需要把它们导出为DLL函数,你可以尝试确保这些函数在模块层级公开(即不要把它们放在类或者内嵌函数中)。你还可能需要一个命名转换工具来确保函数名在DLL中正确映射。

希望这些建议对你有帮助!如果问题依然存在,可以提供更多的代码细节,我们会进一步分析。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

某一个“天” 发表于 2024-8-25 12:08:08

如果你使用的是Python函数并需要把它们导出为DLL函数,你可以尝试确保这些函数在模块层级公开(即不要把它们放在类或者内嵌函数中)。
页: [1]
查看完整版本: Nuitka库打包成DLL的问题