簡體   English   中英

在Mac Snow Leopard MacPorts上提升python導入錯誤

[英]boost python import error on mac snow leopard macports

在雪豹(OS X 10.6.8)上,我無法加載使用boost python構建的擴展模塊。 代碼是:

#include <boost/python.hpp>
char const* greet()
{
   return "hello, world";
}
BOOST_PYTHON_MODULE(func_ext)
{
    using namespace boost::python;
    def("greet", greet);
}

我建立使用:

/usr/bin/g++ -o src/func_ext.os -c -fPIC -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/opt/local/include src/func_ext.cpp
/usr/bin/g++ -o func_ext.dylib -dynamiclib src/func_ext.os -L/opt/local/lib -lpython2.7 -lboost_python-mt

錯誤是:

15:52:53@tscons=>LD_LIBRARY_PATH=`pwd` python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import func_ext
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  ImportError: No module named func_ext

誰能幫忙嗎? 提前非常感謝您!

我認為,最直接的問題是擴展模塊文件名應使用.so而不是.dylib

如果不能解決所有問題,則可以使用python-config命令來確保使用了所有正確的編譯器和鏈接器設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM