c++ - Python.h 的 undefined symbol

标签 c++ python python-2.7

我正在尝试将 Python 脚本嵌入到 C++ 应用程序中。不过,在我做这样的事情之前,我会尝试运行示例脚本。

这是我的代码:

#include <Python/Python.h>
int main(int argc, char *argv[]) {
Py_Initialize();
PyRun_SimpleString("from time import time,ctime\n"
                   "print 'Today is',ctime(time())\n");
Py_Finalize();
return 0;
}

用 g++ 编译给我:

Undefined symbols:
  "_Py_Initialize", referenced from:
      _main in cc2Ogphq.o
  "_PyRun_SimpleStringFlags", referenced from:
      _main in cc2Ogphq.o
  "_Py_Finalize", referenced from:
      _main in cc2Ogphq.o
ld: symbol(s) not found

我正在运行 Mac OSX Snow Leopard 和 Python 2.7.2。

最佳答案

您需要链接到 python 库,例如libpython.a 用于静态链接。

关于c++ - Python.h 的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6578258/

相关文章:

c++ - 通过 `&&` 传递的参数对非构造函数有用吗?

c++ - 访问 protected 方法的方法指针?

python - 寻找最大的二进制间隙

google-chrome - Selenium 网络驱动程序, Chrome 。我在运行 Python 测试期间(在开始和结束时)遇到未实现的错误

python - 解码和unicode之间的区别?

python - wxPython框架上的背景图像

c++ - 通过强制转换 nullptr 获取成员变量的偏移量

c++ - 特定成员的模板特化?

python - 比较两个 CSV 文件之间的值并写入第三个 CSV 文件

python - 如何在文本元素后附加 <br> 标签?