小编Dwi*_*ght的帖子

你好世界用boost python和python 3.2

所以我试图使用boost python来连接python 3.2和c ++,并且遇到了很多问题.我终于使用2.7库进行编译了它的工作原理,但我似乎无法使用python 3.2.

这是c ++代码

#include <iostream>

using namespace std;

void say_hello(const char* name) {
    cout << "Hello " <<  name << "!\n";
}

int main(){return 0;}

#include <boost/python/module.hpp>
#include <boost/python/def.hpp>
using namespace boost::python;

BOOST_PYTHON_MODULE(hello)
{
    def("say_hello", say_hello);
}
Run Code Online (Sandbox Code Playgroud)

如果我使用2.7库编译它可以正常工作,但是当我使用3.2库时,我从libboost_python.so获得大量未定义的引用

否则我写了一点python来使其工作:

from distutils.core import setup
from distutils.extension import Extension

setup(name="PackageName",
    ext_modules=[
        Extension("hello", ["testBoost.cpp"],
        libraries = ["boost_python"])
    ])
Run Code Online (Sandbox Code Playgroud)

这将使用python 3.2或2.7构建创建一个,但是当我打开python 3解释器并尝试导入时,它再次从libboost_python.so中给出错误未定义符号PyClass_Type.有任何想法吗?boost python是否与python 3.x兼容?

如果信息有用,这是我尝试使用3.2编译:

   $ g++ testBoost.cpp -I/usr/include/python3.2 -I/usr/local/include/boost/python -lboost_python -lpython3.2mu 
    /tmp/ccdmU1Yu.o: In function `PyInit_hello':
    testBoost.cpp:(.text+0xc2): undefined reference to …
Run Code Online (Sandbox Code Playgroud)

c++ python boost g++ boost-python

8
推荐指数
3
解决办法
1万
查看次数

OpenGL ATI与NVIDIA GLSL问题

4台独立的笔记本电脑,全部运行Ubuntu 11.04.

一个带有ATI卡,运行GLX 1.4,OpenGl 3.3,GLSL 3.3,按预期运行.

GLXINFO:

name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: ATI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group
client glx vendor string: ATI
client glx version string: 1.4
GLX version: 1.4
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon HD 3400 Series
OpenGL version string: 3.3.10665 Compatibility Profile Context
OpenGL shading …
Run Code Online (Sandbox Code Playgroud)

java opengl glsl jogl worldwind

5
推荐指数
1
解决办法
1453
查看次数

标签 统计

boost ×1

boost-python ×1

c++ ×1

g++ ×1

glsl ×1

java ×1

jogl ×1

opengl ×1

python ×1

worldwind ×1