11

Python 2.7 を静的な単一の .lib ファイルとしてビルドしようとしています。

Python ソース コードに次の変更を加えました。

  1. 「リリース」モードに変更します。
  2. すべての DLL プロジェクトをスタティック ライブラリ (.lib) に変更し、ランタイム ライブラリを /MT に設定します。
  3. プリプロセッサ定義 Py_NO_ENABLE_SHARED を python と pythoncore に追加

pythoncore プロジェクトを pythoncore.lib (約 11 MB サイズ) にコンパイルできましたが、python プロジェクトをコンパイルしようとすると、次のリンク エラーが発生します。

エラー LNK2019: 関数 __PyImport_GetDynLoadFunc C:\Python-2.7.3_Source\PCbuild\pythoncore.lib(dynload_win.obj) で参照されている未解決の外部シンボル __Py_ActivateActCtx PCbuild\pythoncore.lib(dynload_win.obj) エラー LNK2019: 関数 __PySys_Init で参照されている未解決の外部シンボル __Py_hgidentifier C:\Python-2.7.3_Source\PCbuild\pythoncore.lib(sysmodule.obj) エラー LNK2019: 関数で参照されている未解決の外部シンボル __Py_hgversion __PySys_Init C:\Python-2.7.3_Source\PCbuild\pythoncore.lib(sysmodule.obj) エラー LNK2019: 未解決の外部シンボル _Py_GetBuildInfo が関数 _Py_GetVersion C:\Python-2.7.3_Source\PCbuild\pythoncore.lib(getversion.obj) で参照されています

誰でも私を助けることができますか?

ありがとう、

イダン

- - - - - - - - - - アップデート - - - - - - - - - - - - - - - --------

私はちょうどそれを機能させることができました..それが誰かを助けるなら、これらは私が行った変更です:

  1. Modules\getbuildinfo.cpythoncore プロジェクトに追加します。
  2. このPC\dl_nt.c#ifdef Py_ENABLE_SHAREDを 14 行目から 79 行目 (DllMain のすぐ上) に移動します。

... 以上です!

これで pythoncore.lib にリンクできます:)

イダン

4

0 に答える 0