在 C++ vs2015 中嵌入 python 3
Embedding python 3 in c++ vs2015
我想在 C++ 控制台应用程序 vs2015 中嵌入 python 代码。我遵循了教程 https://docs.python.org/3/extending/embedding.html,第一个示例,5.1 非常高级的嵌入。但是当我构建时(在发布模式下)它显示错误:未解析的外部符号 ___imp__py_initialize。
我想发生错误是因为我没有包含一些 .lib 或 .obj 文件,所以我包含了 python.h 和 python.lib 但我不确定。
(我的英语不好,所以请原谅...)
"unresolved external symbol" 是一个 linker 错误,这意味着您忘记了 link 到 .lib 文件。
您需要嵌入 Python 的 Visual C++ 项目设置是(例如 Python 3.5):
- C/C++,常规,附加包含目录:C:\Python35\include
- 链接器、通用、附加库目录:C:\Python35\libs
您不需要手动指定 .lib 文件,因为 pyconfig.h 自动 link 包含它。
如果您确定您已经正确设置了输入和库目录,那么链接器问题的原因可能是您混合了不同位数的代码。例如,请确保您没有链接到 32 位应用程序中 Python 库的 64 位版本。
我想在 C++ 控制台应用程序 vs2015 中嵌入 python 代码。我遵循了教程 https://docs.python.org/3/extending/embedding.html,第一个示例,5.1 非常高级的嵌入。但是当我构建时(在发布模式下)它显示错误:未解析的外部符号 ___imp__py_initialize。 我想发生错误是因为我没有包含一些 .lib 或 .obj 文件,所以我包含了 python.h 和 python.lib 但我不确定。 (我的英语不好,所以请原谅...)
"unresolved external symbol" 是一个 linker 错误,这意味着您忘记了 link 到 .lib 文件。
您需要嵌入 Python 的 Visual C++ 项目设置是(例如 Python 3.5):
- C/C++,常规,附加包含目录:C:\Python35\include
- 链接器、通用、附加库目录:C:\Python35\libs
您不需要手动指定 .lib 文件,因为 pyconfig.h 自动 link 包含它。
如果您确定您已经正确设置了输入和库目录,那么链接器问题的原因可能是您混合了不同位数的代码。例如,请确保您没有链接到 32 位应用程序中 Python 库的 64 位版本。