1

ビジュアルCですでに制御できるUSBモジュールのファームウェアがあります。これをPythonに移植したいと思います。このためには、c で書かれた octopus ライブラリが必要です。SWIG によって作成された octopus_wrap というファイルを見つけました。

次に、次のようなメイクファイルを見つけました。

python2.5: swig -python -outdir ./ ../octopus.i gcc -fPIC -c ../../liboctopus/src/octopus.c gcc -fPIC -c ../octopus_wrap.c -I /usr /include/python2.5 gcc -fPIC -shared octopus_wrap.o octopus.o /usr/lib/libusb.so -o _octopus.so

python2.4: swig -python -outdir ./ ../octopus.i gcc -fPIC -c ../../liboctopus/src/octopus.c gcc -fPIC -c ../octopus_wrap.c -I /usr /include/python2.4 gcc -fPIC -shared octopus_wrap.o octopus.o /usr/lib/libusb.so -o _octopus.so

勝つ: gcc -fPIC -c ../../liboctopus/src/octopus.c -I /c/Programme/libusb-win32-device-bin-0.1.10.1/include gcc -fPIC -c octopus_wrap.c -I /c/Python25/libs -lpython25 -I/c/Python25/include -I /c/Programme/libusb-win32-device-bin-0.1.10.1/include gcc -fPIC -shared *.o -o _octopus.pyd - L/c/Python25/libs -lpython25 -lusb -L/c/Programme/libusb-win32-device-bin-0.1.10.1/lib/gcc

クリーン: rm -f octopus* _octopus*

install_python2.4: cp _octopus.so /usr/local/lib/python2.4/site-packages/ cp octopus.py /usr/local/lib/python2.4/site-packages/

install_python2.5: cp _octopus.so /usr/local/lib/python2.5/site-packages/ cp octopus.py /usr/local/lib/python2.5/site-packages/

これを処理する方法がわかりませんが、私が見る限り、octopus.py と _octopus.so は、python に関連する結果の出力ファイルです。

幸いなことに、誰かがすでにそれを行っていたので、それらの 2 つのファイルを「python26/lib」フォルダーに入れました (それが python 2.5 か 2.6 かは関係ありませんか?!)

したがって、USB デバイスを操作する場合は、octopus.py が操作するライブラリです。このファイルをインポートすると、いくつかの問題が発生します。

>>> 
Traceback (most recent call last):
File "C:\Users\ameise\My Dropbox\µC\AVR\OCTOPUS\octopususb-0.5\demos\python    \blink_status.py", line 8, in <module>
from  octopus import *
File "C:\Python26\lib\octopus.py", line 7, in <module>
import _octopus
ImportError: DLL load failed: module not found.

関連する行 7 は次のとおりです。

import _octopus

したがって、.so ファイルを考慮すると問題があります。私の次のステップは何ですか?

私はそれが多くの混乱を招くことを知っていますが、あなたの誰かが私の心に光をもたらすことを願っています!

事前に

4

1 に答える 1

0

python2.6 -lpython26用にリンクしてコンパイルする必要があります。また、Windows のファイル拡張子は .pyd no .so です。

于 2010-03-14T12:13:48.203 に答える