1

CodeProject の記事で説明されているように、Visual Studio 2010 の C++ プロジェクトに Python スクリプトの使用を含めました: http://www.codeproject.com/Articles/11805/Embedding-Python-in-CC-Part-I

Visual Studio 2012 でプロジェクトをコンパイルしようとするまで、これは正常に機能していました。2010 がインストールされていない場合に 2012 でコンパイルするには、プラットフォーム ツールセットを v100 から v110 に変更する必要があります。ツールセットを変更した後、ファイル「basetsd.h」が見つからないため、含まれている「pyconfig.h」にインクルード エラーが発生します (python 2.7 と 3.3 で同じ)。pyconfig は、VS10 で機能している #ifdef を示しています (そして、VS6 まで考えています) が、VS12 のファイルが欠落しているようです:

#if defined(_MSC_VER) && _MSC_VER >= 1200
/* This file only exists in VC 6.0 or higher */
#include <basetsd.h>
#endif

インクルード パス (Windows ツールキット) を追加するか、インクルード コマンドを削除すると、リンカーが "kernel32.lib" を見つけられなくなるか開くことができなくなるまでコンパイルされます。ただし、一部の kernel32.lib の lib パスを追加すると、すべての python コマンドが解決されなくなります。

その仕事を得る方法は?Python と VS2012 の何が問題になっていますか?

4

2 に答える 2

0

おそらく、お使いのバージョンの「Python.h」は Visual Studio 2010 とのみ互換性があります。VS2012 用であると主張する「Python.h」のリンクを添付しました。試してみて、問題が解決するかどうかをお知らせください。

http://pytools.codeplex.com/releases

于 2013-07-29T17:40:47.123 に答える
0

現在、次の lib パスで実行されています。

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib;C:\Python27\libs

しかし、私はまだそれを理解していません...

于 2013-07-30T10:03:59.227 に答える