我的示例代码:
#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,一切运作良好。我该如何解决?
答案 0 :(得分:0)
删除可执行文件上的-shared
标志:
答案 1 :(得分:0)
g++ a.cpp -o a -I /usr/include/python2.7/ -lboost_python -lpython2.7 -lboost_system -fPIC
我添加了-lpython2.7,现在正在使用