반응형
[me@hostname python]$ cat hello_world.cc
#include <string>
#include <Python.h>
#include <boost/python.hpp>
namespace {
std::string greet() { return "Helloworld"; }
}
using namespace boost::python;
BOOST_PYTHON_MODULE(hello_world)
{
def("greet",greet);
}
[me@hostnmae python]$ g++ -c -fPIC hello_world.cc -I/path/to/boost/headers -I/path/to/python/headers -o hello_world.o
[me@hostname python]$ g++ -shared -Wl,-soname,libhello_world.so -o libhello_world.so hello_world.o
[me@hostname python]$ python
Python 2.7.1 (r271:86832, Jan 10 2011, 09:46:57)
[GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path.append('.')
>>> import hello_world
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named hello_world
>>>
위와 같이 .so 파일을 만들었지 만 파이썬 내부에서 가져올 수 없습니다. 내가 뭘 놓치고 있니?
해결 방법
이름은 libhello_world.so
가 아니라 hello_world.so
여야합니다.
참조 페이지 https://stackoverflow.com/questions/10968309
반응형
'파이썬' 카테고리의 다른 글
파이썬 datetime 객체에서 pytz 시간대를 제거하려면 어떻게해야합니까? (0) | 2021.02.14 |
---|---|
파이썬 How do I check if a string only contains alphanumeric characters and dashes? (0) | 2021.02.14 |
파이썬 csv 데이터 파일을 scikit-learn으로 가져 오는 방법은 무엇입니까? (0) | 2021.02.14 |
파이썬 클래스 변수는 파이썬의 모든 인스턴스에서 공유됩니까? (0) | 2021.02.14 |
파이썬 PIL을 사용하여 픽셀의 RGB 얻기 (0) | 2021.02.14 |
댓글