SWIGから生成された.cxxファイルから.pydを作成する必要があります。私はそれがVS2017とコマンドラインに来るとき、少しの助けを望んでいます。ビジュアルスタジオを使ってswigとビルドプロジェクト2017コマンドライン
SWIGのセットアップをWindowsの
1)のために:ここで
は、私がこれまで行っているものです。 anacondaをダウンロードする(python 3.6 x64版を使用)
2)。 VSコミュニティバージョン
- installed all the c++ extensions
3)をダウンロードしてください。ダウンロードしたFGDBのAPI(窓2017):
4)。 Python環境変数を設定する:
PYTHON_INCLUDE: C:\ProgramData\Anaconda3\include
PYTHON_LIB: C:\ProgramData\Anaconda3\libs\python36.lib
5)。 Swigのダウンロードと解凍
6)。 PATH環境変数にswigパスを追加する
7)。 google hostingまたはgithubからファイル-geodatabase-apiファイルをダウンロードします。 https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/file-geodatabase-api-python-wrapper/source-archive.zip
8)。フォルダを作成します:C:\ fgdb_code
- .I、の.pyおよびフォルダ
9)でメイクファイルがあるはずです。ステップ7からのファイルをこのフォルダに置きます
10)。 .CXXファイル
11)を生成する8
c:\fgdb_code\FGDB
ステップ#からフォルダのステップ#3からファイルを解凍します。管理者としてコマンドラインウィンドウを開きます(管理者は必要ありません)
12)。 c:\ fgdb_codeフォルダ
13)に移動します。ファイル名を指定して実行:VS 2017から.pydファイルを生成
FGDB\include\Util.h(819) : Warning 312: Nested union not currently supported (ignored).
FGDB\include\Util.h(838) : Warning 312: Nested union not currently supported (ignored).
FGDB\include\Util.h(843) : Warning 312: Nested union not currently supported (ignored).
FGDB\include\Util.h(849) : Warning 312: Nested union not currently supported (ignored).
FGDB\include\Geodatabase.h(307) : Warning 503: Can't wrap 'FileGDBAPI::CreateGeodatabase' unless renamed to a valid identifier.
FGDB\include\Geodatabase.h(308) : Warning 503: Can't wrap 'FileGDBAPI::OpenGeodatabase' unless renamed to a valid identifier.
FGDB\include\Geodatabase.h(309) : Warning 503: Can't wrap 'FileGDBAPI::CloseGeodatabase' unless renamed to a valid identifier.
FGDB\include\Geodatabase.h(310) : Warning 503: Can't wrap 'FileGDBAPI::DeleteGeodatabase' unless renamed to a valid identifier.
`` `
:-IFGDB /含ま-C++ filegdbapi.i
This generates a .cxx file
` `` 出力メッセージ-pythonがぶ飲み
これは私が立ち往生する場所です。
私はDLLを生成するための新しいVSプロジェクトを作成しようとしましたが、私はインターフェイスを動作させることができませんでした(私はVSスタジオのインターフェイスを少し掘り下げています)。プロジェクトを作成せずにコマンドラインでこれを行う方法はありますか?もしそうなら、誰かが私がこれをどうやってできるかについていくつかの指針を与えることができますか?
コードをコンパイルするのに.iと.cxxファイルが必要です。
UPDATE )
14 VS 2017から.pydファイルを生成します。オープンビジュアルスタジオ
15)。ファイル - >既存コードから
16)を選択します。 C++
17)を選択してください。次のように入力します。
- Project file location: folder from step #8
- project name: filegdbapi
- Check add files (should be checked by default)
- Click Next
18)。プロジェクトタイプ:動的リンクライブラリ(DLL)プロジェクト
19)。プレス・フィニッシュ
20)。
がで失敗するプロジェクトをビルドします。
1>------ Build started: Project: filegdbapi, Configuration: Release x64 ------
1>XSD : error : The CodeDom provider type "Microsoft.VisualC.CppCodeProvider, CppCodeProvider, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" could not be located.
1>
1>If you would like more help, please type "xsd /?".
1>Done building project "filegdbapi.vcxproj" -- FAILED.
はあなたに
はあなたによろしいのVisual Studioのバージョンと互換性がありませんありがとう、それは私があなたの正確なと、意味VS2017 – JabberJabber
言います例えば、古い14.1 MSVCのバージョンでは、あなたのプログラムをポータブルにすることはできませんでした。この場合、ライブラリはコンパイラと互換性がありません – MinCarve
これをコンパイルするために必要なものを見つけ出す方法はありますか? – JabberJabber