3

pymatbridge のバージョン 0.3 では、ZMQ の追加の依存関係が追加されました。したがって、このバージョンをインストールするにmessengerは、zeromq の dll にリンクする mex 拡張機能をコンパイルする必要がある場合があります。ただし、場合によっては、これを行うのがかなり難しいことがわかります。

Windows を実行しているマシンにソースから pymatbridge をインストールした成功事例の例はありますか?

4

3 に答える 3

4

これが私のセットアップとビルドの手順です。冗長で申し訳ありません。これは、私が実験ノートに書いたものです。

仕様:

Windows 8.1 (64 bit)
Anaconda 1.9.1
python 2.7.6
MinGW
TDM GCC 4.8.1

最初にインストールしMS Visual C++ & SDK 7.1ました。かなり早い段階でインストールが失敗する理由として考えられるのは、Visual C++ コンパイラの他のバージョンや SDK が存在することです。SDK 7.1 を正常にインストールする前に、それらのかなりの数をアンインストールする必要がありました。

まず、 を使用してWindows SDK 7.1 Command Prompt、私は

mex -setup

新しくインストールされたコンパイラを選択しました。私の場合

Select a compiler:
[1] Microsoft Software Development Kit (SDK) 7.1 in 
C:\Program Files (x86)\Microsoft Visual Studio 10.0

[0] None

Compiler:

私は number を選ぶことにしまし1た。次に、ビルド済みの 64 ビットをダウンロードしてインストールZMQ 3.2.4し、ZMQ 3.2.4 のインストール場所からC:\Program Files\ZeroMQ 3.2.4\libをコピーしlibzmq-v90-mt_3_2_4.lib、メッセンジャー ビルド ディレクトリにをコピーしました。とそのディレクトリにも入れましたが、今のところ、それらが本当に必要かどうかはわかりません。libzmq-v90-mt_3_2_4.dllC:\Program Files\ZeroMQ 3.2.4\bin~\python-matlab-bridge\messenger\srczmq.hzmq_utils.h

次に、ディレクトリWindows SDK 7.1 Command Promptにcdしてmessenger\src発行しました

mex messenger.c libzmq-v90-mt-3_2_4.lib -O -output messenger

を取得しmessenger.mexw64ます。最後に、~\python-matlab-bridge directoryを使用してMinGW、私はただ

python setup.py install

Anaconda\Lib\site-packagesこれにより、ビルドされたパッケージが卵情報とともに自動的に my に入れられます。にAnaconda\Lib\site-packages\pymatbridge\matlabは、messenger.mexw64以前に構築された があります -- from ~\python-matlab-bridge\messenger\src。また、適切な測定のために、他のAnaconda\Lib\site-packages\pymatbridge\matlabすべての 、 、およびにコピーしました。、またはiPython Notebook で、次のことができます。.dll.lib.hiPython 2.7 console

%load_ext pymatbridge

成功しました。

于 2014-05-18T21:44:09.777 に答える
1

他の回答のいくつかは少し古くなっていますが、これは今でははるかに簡単に実行できます (Linux システムではまだ簡単ではありません:/)。まず第一に、pymatbridge には、libzmq に静的にリンクされている Windows 上のバイナリ mex が含まれるようになったため、実際に何かをコンパイルして動作させる必要はありません。

ただし、それでもソースからコンパイルしたい場合は、動的にリンクされたライブラリのプロセスはそれほど悪くありません。

1) Web サイトから zeromq をインストールします: http://zeromq.org/distro:microsoft-windows

2) lib/libzmq-*.lib ファイルの 1 つを、ZeroMQ インストール ディレクトリの libzmq.lib に名前変更します。

3) ZeroMQ bin ディレクトリをパスに追加します。

4) メッセンジャーでメッセンジャー/mexw64/local.cfg ファイルを編集して、zeromq インストール ディレクトリを指すようにします (ZMQ_INC と ZMQ_LIB の両方を更新する必要があります)。また、MATLAB ディレクトリが正しいことを確認してください。

5)make.py matlabメッセンジャー ディレクトリで実行します。これにより、messenger.mexw64 がビルドされます。

静的にリンクされたライブラリは実際には単純ですが、(現時点では) zeromq は Windows インストーラーとの静的リンク用の .lib を提供していないため、これを自分でコンパイルする必要があります。静的 .lib を作成したら、messenger.mexw64 をビルドします。make matlab --static

于 2015-03-10T18:32:57.197 に答える