【发布时间】:2015-12-07 03:03:26
【问题描述】:
我正在一个构建 dll 的现有 c++ 项目中工作。
我正在尝试使用 C api 调用 python。我可以使用#include <boost/python.hpp> 或只使用#include <Python.h>,我的代码工作正常。
我已将链接器指向包含 python27.lib 的文件夹(MyProject -> Properties -> ConfigurationProerties -> Linker -> General -> Additional Library Directories),因此我希望它静态链接到 python。
我的问题是,当我使用 Dependency Walker 时,我发现我的 dll 依赖于 python27.dll。
这是我真正想要静态链接到 python 的情况。
我做了很多研究并尝试了各种预处理器指令,但没有运气。感谢您的帮助
【问题讨论】:
-
Python 是否提供静态库?如果没有,那就没办法了
-
是的,我可以看到 python27.lib 文件并将链接器指向它的目录。
-
扩展名为 lib 的文件并不代表它是静态 lib 文件
-
你的意思是 .lib 文件可能只是这个答案stackoverflow.com/questions/1297013/… 中的存根吗?谢谢
-
是的。如果 DLL 也是用 lib 文件生成的
标签: python c++ visual-studio-2010