2016-09-26 7 views
2

これまで拡張モジュールを構築するためにgfortranとMinGWを使用していたPython 2.7プロジェクトがあります。私はMinGWを使用しています。なぜなら、MSVCはFortranコードで書かれたステートメントと割り当て可能な配列をサポートしているようです。Python 3.5用のFortran拡張モジュールまたは2.7用のC拡張モジュール

私自身(Netgen)に組み込みたいプロジェクトがありますが、現在はBoost.Pythonを使ってPython 3.5用に設定されています。最初に自分のプログラムをPython 3.5に移植しようとしましたが、それはMSVCの問題を思い出させたところであり、明らかにMinGWはサポートされていません。そのため、私はPython 2.7での展開のためにNetgen + Boost.Pythonをコンパイルする方法を考えようとしてきました。

私はブースト部分が簡単だと思いますが、Python 2.7と統合するにはVisual C++ 2008が必要です。私はMicrosoftからPython 2.7のためのVisual C++コンパイラを持っていますが、私はそれをCMakeビルドシステム内で動作させることはできませんでした。私はPythonのフォルダのVCのcl.exeコンパイラを指しています。そしてCMakeは、単純なテストプログラムの構築に失敗したと私に伝えています。私は実際にVisual Studio 2008を持っていない(そして見つけることができない)ので、とにかく私がどれくらいの距離を得るのかはわかりません。

ここに問題が発生する可能性のある場所がたくさんありますが、それがあればgo/no-goの回答を探しています。明らかにどんな解決策も歓迎されるだろう。

私はWindows 10 64ビットを実行しています。

私はC/C++のエキスパートではありませんが、NetgenをVC用のPythonツール(cl、リンクなど)を使ってコンパイルするのに必要なすべてのツールがあるようです。私はちょうどそれをすべて一緒にプロジェクトやそのようなものにする方法を持っていない/していない。

+0

関連性が高く、フォロワーが多いタグを選択してください。 [タグ:fortran]はそのうちの一つです –

答えて

0

私はVC 14.0を使ってPython 2.7のソースからBoost.Pythonライブラリ1.61.0をビルドしました。その後、Netgenのビルドプロセスで(VC 14.0を使用して)ビルドプロセスを使用し、Python 2.7ライブラリを指し、ディレクトリを(Python 3.5ではなく)インクルードしました。これまでのところ私の既存のコードでPython 2.7で動作しました。

+0

これはあなた自身の質問に対するコメントか回答ですか? – Peaceful

関連する問題