作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个包含一堆 C++ 和 Python/Cython 文件的项目。到目前为止,我主要开发了 C++ 部分并使用 qmake 将其编译为静态库。一些方法通过 boost::python 公开,并从 .py 文件中执行。
我现在想将整个东西编译成一个独立的可执行文件。
我现在的问题是:最好的方法是什么?我尝试切换到 Cython,编译 python 文件并链接库。但似乎没有直接的方法使用 distutils/setup.py 来编译可执行文件,只有共享库。
有没有一种方法可以轻松地将 .cpp 和 .pyx 文件同时编译成可执行文件?
这样我就可以摆脱很多 boost::python 包装器的东西,得到 c++/python 的巧妙组合,而不必导入共享库并用 pyinstaller 打包所有东西?
最佳答案
你应该看看:
由于 python 是您的入口点,您将能够将独立的解释器、环境和资源位置捆绑到应用程序/exe/二进制文件中。它会将您所有的库模块收集到其独立的站点包中
如果您不使用任何普通的纯 py 文件而只有 cython 文件,那么也可以将解释器嵌入到其中一个文件中,作为带有 cython 的 --embed 标志的入口点: http://wiki.cython.org/EmbeddingCython
请注意,这是与前面提到的打包选项类似的“卡住”方法,但不会花费额外的时间来构建独立的环境
关于c++ - 如何最好地将 C++/Cython 项目编译成可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10775596/
我是一名优秀的程序员,十分优秀!