cl.exeとリンクするときのライブラリの依存関係が隠されている(欠落)
-
21-12-2019 - |
質問
私はちょうど大型のCMAKE / EclipseベースのC ++プロジェクトにさらされました。ビルドターゲットの1つはWindows / Nmakeベースです。実行可能ファイルを構築する最後のステップで、リンカはLNK1104をスローします.file 'python27.lib'を開くことができません。Python 2.7がインストールされていないため、これは正しいです。
問題は、CL.exeのコマンドラインでこのライブラリへの参照を見つけることができません。プロジェクトディレクトリ全体のGREP(Eclipses .Metadataディレクトリを含む)は、もっともらしいものは何も見つかりません。すべてのCMakeが生成したすべてのビルドスタッフを削除するのは助けませんでした。
本当の質問は、MSVCベースのライブラリ(インポートまたは静的)が、リンクステップ中に暗黙のライブラリを要求するメカニズムがある場合にある。上記のプロジェクトにはいくつかのプリコンパイル済みのものがあります。私は単に語彙を必要としています。ここで、エラーの原因に関するより修飾検索を始めるために。
解決
ここでの回答を見つけた:
href="https://stackoverflow.com/questions/19716859/Puzzling-Dependency-of-boost-python-54-debug-build-to-python27-lib-on-window">パズルboost.python 1.54(デバッグビルド)の依存関係Windows
のPython27.libへの依存基本的には、CULPRITはブーストライブラリの内側の#pragma comment()
ディレクティブです。