热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用SWIG包装python的C++代码.无法使用cout命令

如何解决《使用SWIG包装python的C++代码.无法使用cout命令》经验,需要怎么解决?

我正在尝试使用SWIG为python包装这个简单的C++代码:

#include "hello.h"

int helloW() 
{
    std::cout <<"Hello, World!" ;
    return 0;
}

这里是相对标题:

#include 
int helloW() ; // decl

正如我正在使用的SWIG输入文件:

/* file : pyhello.i */

/* name of module to use*/
%module pyhello
%{
    #include "hello.h"
%}    
%include "hello.h";

现在,我的makefile(运行正常)是:

all:
    swig -c++ -python -Wall pyhello.i 
    gcc -c -fpic pyhello_wrap.cxx hello.cpp -I/usr/include/python2.7
    gcc -shared hello.o pyhello_wrap.o -o _pyhello.so

因为我能够从不同的来源汇总相关的问题在线.现在,一旦我尝试使用命令导入python我的库

>>> import pyhello

这是我得到的错误:

    Traceback (most recent call last):
  File "", line 1, in 
  File "pyhello.py", line 17, in 
    _pyhello = swig_import_helper()
  File "pyhello.py", line 16, in swig_import_helper
    return importlib.import_module('_pyhello')
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: ./_pyhello.so: undefined symbol: _ZSt4cout

这让我觉得这个问题与命令有关,std::cout或者一般来说与标准库有关.

希望有人可以给我一些关于这个问题的提示.非常感谢提前!!

注意:同样的问题我尝试使用命令printf()而不是std::cout和库而不是


推荐阅读
author-avatar
嘉苹民智79
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有