linux下c++调用python问题

purple3196 2010-07-26 04:59:10
我想用c++调用python,在网上找了一些小例子,可是到Py_Initialize();的时候就报错了,
错误是:undefined reference to `Py_Initialize'
我的开发环境是ubuntu804,python2.5

不知道是我少安装东西了,还是别的问题,请各位大虾指教

如果是少安装什么或者是配置不对,希望可以详细的告诉我下,因为我刚开始做这方面的,对这方面还不是很了解,谢谢了
...全文
504 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
purple3196 2010-07-28
  • 打赏
  • 举报
回复
帮帮忙吧
notax 2010-07-27
  • 打赏
  • 举报
回复

$ gcc -I/usr/include/python2.5 -Wall -fPIC simple1.c
/tmp/ccfKETgX.o: In function `main':
simple1.c:(.text+0x10): undefined reference to `Py_Initialize'
simple1.c:(.text+0x48): undefined reference to `Py_Finalize'
collect2: ld returned 1 exit status


成功
$ gcc -I/usr/include/python2.5 -lpython2.5 -Wall -fPIC simple1.c

angel_su 2010-07-27
  • 打赏
  • 举报
回复
undefined reference to `Py_Initialize'一般是缺库,检查一下链接参数...
thy38 2010-07-27
  • 打赏
  • 举报
回复
把你的C++代码贴上来
purple3196 2010-07-27
  • 打赏
  • 举报
回复
怎么没人回答呀??帮帮忙吧
purple3196 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 notax 的回复:]
$ gcc -I/usr/include/python2.5 -Wall -fPIC simple1.c
/tmp/ccfKETgX.o: In function `main':
simple1.c:(.text+0x10): undefined reference to `Py_Initialize'
simple1.c:(.text+0x48): undefined referenc……
[/Quote]

谢谢,编译通过了,我还想问下,我是用python作的界面,C++调用,Py_Initialize好用了,但是该怎么显示呢?
用什么函数么?
谢谢了
purple3196 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 thy38 的回复:]

把你的C++代码贴上来
[/Quote]
我的代码,其中second是同路径下的python文件,只是普通的输出,ide是eclipse+pydev
#include <Python.h>
int main() {
Py_Initialize();

PyObject * pModule= NULL;
PyObject * pFunc= NULL;

pModule = PyImport_ImportModule("second");
pFunc = PyObject_GetAttrString(pModule, "Hello");
PyEval_CallObject(pFunc, NULL);

Py_Finalize();

return 0;
}

在Py_Initialize();报红
error是undefined reference to `Py_Initialize'
下面还有好几处报红

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧