c++ - 如何最好地将 C++/Cython 项目编译成可执行文件?

标签 c++ python compilation cython

我有一个包含一堆 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/

相关文章:

java - Maven 编译会在目标中生成同一类的多个版本吗?

c++ - 透视正确的纹理贴图; z距离计算可能错误

python - 如何实现这个python post并获取?

c++ - OpenCV:是否可以在 Linux 中的进程之间共享网络摄像头

python setuptools setup.cfg : Including main- and subpackages in the build dir

python - 从热图数据生成边界框

gcc - 使用-O3标志编译演示递归代码时出现异常行为

c - windows下编译win32 api c程序实例(命令行方式)

c++ - 获取 4 位整数的倒数第二个值

c++ - 在 SQLite C/C++ API 中定义常量