2017-07-05 16 views
1

私は独自のpython(3.6)モジュールを作成するために、boost python APIを学びたいと思っています。私は次のC++コードを正常にコンパイルして、生成するpythonTest.dllを得ることができます。pythonモジュールはboost pythonを使っていますか?

次に、pythonTest.dllを次のようなモジュールフォルダにコピーします。

Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pythonTest 
>>> pythonTest.hello_world() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
**AttributeError: module 'pythonTest' has no attribute 'hello_world'** 

>>> help(pythonTest) 
Help on package pythonTest: 

NAME 
    pythonTest 

PACKAGE CONTENTS 
    pythonTest 

FILE 
    <...>\pythontest\__init__.py 

>>> dir(pythonTest) 
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__','__name__', '__package__', '__path__', '__spec__'] 
>>> 

私は何をしないのです?私のpythonを実行すると、それはモジュールをインポートしますが、それは私のhello_world機能を見つけることができません

pythonTest\ 
    __init__.py 
    pythonTest.pyd 

(私はpythonTest.pydにpythonTest.dllの名前を変更しますか)おかげさまで EDIT

: これは、Visual Studioのビルドから出力された:

1>------ Rebuild All started: Project: pythonTest, Configuration: Release x64 ------ 
1>Build started 7/10/2017 2:49:53 PM. 
1>InitializeBuildStatus: 
1> Creating "x64\Release\pythonTest.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified. 
1>ClCompile: 
1> pythonTest.cpp 
1>G:\DataBackup\dev-vc13\3rdParty\boost_1_64_0\boost/python/detail/caller.hpp(55): warning C4244: 'return' : conversion from 'Py_ssize_t' to 'unsigned int', possible loss of data 
1>Link: 
1>  Creating library G:\DataBackup\dev-vc13\temp\pythonTest\x64\Release\pythonTest.lib and object G:\DataBackup\dev-vc13\temp\pythonTest\x64\Release\pythonTest.exp 
1> Generating code 
1> Finished generating code 
1> pythonTest.vcxproj -> G:\DataBackup\dev-vc13\temp\pythonTest\x64\Release\pythonTest.dll 
1>PostBuildEvent: 
1>   1 file(s) copied. 
1>FinalizeBuildStatus: 
1> Deleting file "x64\Release\pythonTest.tlog\unsuccessfulbuild". 
1> Touching "x64\Release\pythonTest.tlog\pythonTest.lastbuildstate". 
1> 
1>Build succeeded. 
1> 
1>Time Elapsed 00:00:04.21 
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ========== 
+0

DLLをビルド中にVisual Studioコンパイラが警告を表示しますか? – VolAnd

答えて

1

は、DIRを使用してみてください()関数はuパッケージの利用可能な方法や機能 が表示されます

>>> dir(pythonTest) 

関連する問題