2017-10-03 5 views
2

meinen Beispielcode:Boost-Python nach Kompilieren und Ausführen gibt mir segfault

#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; 
} 

Kompilierung mit:

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

den Lauf ./a und es gibt mir:

Segmentation fault (core dumped) 

Ich denke, es ist etwas im Zusammenhang mit Boost Python-Bibliothek, wenn ich

entfernen
#include <boost/python.hpp> 

und kompilieren mit

g++ a.cpp -o a 

dann ./a, alles gut funktioniert. Wie löse ich es?

Antwort

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

I -lpython2.7 hinzugefügt und seine jetzt arbeiten