如何链接嵌入在c / c ++应用程序中的python

时间:2013-09-30 08:44:34

标签: python c linker

我想在c ++应用程序中使用嵌入的python。 这是我的代码:

#include <Python.h>

int
main(int argc, char *argv[])
{
  Py_SetProgramName(argv[0]);  
  Py_Initialize();
  PyRun_SimpleString("from time import time,ctime\n"
                     "print 'Today is',ctime(time())\n");
  Py_Finalize();
  return 0;
}

我已经包含在c:\ log \ python27 \ include中以获取Python.h以及c:\ log \ python27 \ libs以包含安装在c:\ log \ python27中的相应链接库python 它正在编译但没有链接......为什么? 我总是有以下错误:

main.o:main.cpp:(.text+0x17): undefined reference to `_imp__Py_SetProgramName'
main.o:main.cpp:(.text+0x1e): undefined reference to `_imp__Py_Initialize'
main.o:main.cpp:(.text+0x34): undefined reference to `_imp__PyRun_SimpleStringFlags'
main.o:main.cpp:(.text+0x3b): undefined reference to `_imp__Py_Finalize'

1 个答案:

答案 0 :(得分:0)

如果你使用的是python3.5,你可以使用这个简单的命令

g++  test.cpp -I/usr/include/python3.5 -lpython3.5m -o call_function

取决于你的图书馆在哪里!