【问题标题】:boost python after compile and run gives me segfault编译和运行后boost python给了我段错误
【发布时间】:2017-10-03 20:32:49
【问题描述】:

我的示例代码:

#include <iostream>
#include <boost/array.hpp>
#include <boost/python.hpp>
using namespace std;
int main(){
  boost::array<int, 4> arr = {{1,2,3,4}};
  cout << "hi" << arr[0];
  return 0;
}

编译使用:

g++ a.cpp -o a -I /usr/include/python2.7/ -lboost_python -lboost_system -shared -fPIC

运行 ./a 它给了我:

Segmentation fault (core dumped)

我认为这与 boost python 库有关,如果我删除

#include <boost/python.hpp> 

并用

编译
g++ a.cpp -o a

然后./a,一切正常。我该如何解决?

【问题讨论】:

    标签: python c++ boost boost-python


    【解决方案1】:

    在可执行文件上删除-shared 标志:

    http://coliru.stacked-crooked.com/a/5479166d518fb207

    【讨论】:

      【解决方案2】:
      g++ a.cpp -o a -I /usr/include/python2.7/ -lboost_python -lpython2.7 -lboost_system -fPIC
      

      我添加了 -lpython2.7,现在它可以工作了

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-22
        • 2014-05-23
        • 1970-01-01
        • 2016-11-20
        • 2014-02-26
        相关资源
        最近更新 更多