c++;与python通信?

c++;与python通信?,python,c++,Python,C++,到目前为止,我正在使用boostpython与python和c++通信(从c++调用python库),但我不知道如何设置exe查找python的方式 P>像DLL或LIB,你必须编写一个Mag文件来显示编译器和链接器,你需要什么,并且设置适当的环境变量来帮助EXE找到它们(只保留LIBs和只包含文件夹)。但是在Python和C++的世界里,我不要设置任何环境变量(或者我错过它)< /St>>我只做到libboost_python-vc90-mt-s-1_55.lib和python27.lib的

到目前为止,我正在使用boostpython与python和c++通信(从c++调用python库),但我不知道如何设置exe查找python的方式

<> P>像DLL或LIB,你必须编写一个Mag文件来显示编译器和链接器,你需要什么,并且设置适当的环境变量来帮助EXE找到它们(只保留LIBs和只包含文件夹)。但是在Python和C++的世界里,我<强>不要设置任何环境变量(或者我错过它)< /St>>我只做到libboost_python-vc90-mt-s-1_55.lib和python27.lib的静态链接

我试图删除或将python27文件夹放在另一个地方,然后程序无法正常运行。
程序如何知道在何处找到所需文件夹?我如何更改默认设置(如设置默认搜索目录)?

您正在链接到
python.lib
,其中包含python虚拟机和解释器、JIT和运行时环境。这就是C++如何与Python < /C> >通信,你已经将完整的Python解释器嵌入到C++应用程序中。

也许可以用稍微多一些的话来解释,因为python .LIB是支持Python虚拟机的程序,它能够编译和JIT,所以Python“引擎”由于Python .LIB的内容,最终C++的可执行文件的一部分成为了完整的部分。我知道为什么在我改变Python 27的位置之后它不能工作,因为C++ exe需要找到“python 27/LIB”。如何在运行时重置默认加载位置嵌入.exe的Python解释器仍然需要访问一些DLL(就像Python.exe可执行文件一样)。