2012-02-24 9 views
2

あまり意味のないバックラウンド:Visual Studio 2010を使用してCGALを構築しようとしています.GMPやMPFRライブラリに依存しています。私はCGALに依存してプロジェクトを構築しています。リンカーはビルドするために埋め込む.libファイルをどのように選択するのですか?

は私のプロジェクトを構築するとき、私はリンカエラーがあります。

error LNK1104: cannot open file 'gmp-vc100-mt-sgd.lib' 

をしかし、私は、ファイルgmp.libにGMPを使用するCGALを語りました。それは本当に使用されています。しかし、どういうわけかリンカはさらにgmp-vc100-mt-sgd.libを望んでいます。だから、 'gmp-vc100-mt-sgd.lib'はデフォルトの名前で、CGAL設定の.hファイルを変更することで 'gmp.lib'に変更しました。私はすべての可能な場所チェックしました:

  • リンカー - には、このようなlibにはありませんが>私のプロジェクトで追加の依存関係は、このlibに
  • 上記の私のプロジェクトからの参照がありません
  • は、すべてのプロジェクトのために右であります私の解決策
  • にいずれにおいても#pragma comment(lib, "gmp-vc100-mt-sgd.lib")ディレクティブはありません、私はCGALとrebuiを再構築しようとした.hファイル(私は私のプロジェクト内のすべてのファイルの.Iプリプロセッサ出力を生成した)

を含まリンカーはまだ古い 'gmp-vc100-mt-sgd.lib'ファイルを望んでいます。

私は立ち往生しています。チェックする他のオプションはありますか?追加の.lib依存関係が存在するその他のソース? gmp-vc100-mt-sgd.libの唯一の言及は、CGAL .libと.objファイルの/ DEFAULTLIB:ディレクティブの下にあります。私は、この魔法のgmp-vc100-mt-sgd.libの名前が何の結果も得られなかったことを見つけるために、CGALソリューションのすべてのファイルを検索しました。

gmp-vc100-mt-sgd.libが分割されていないことを確認するために、.iファイル内のすべての#pragmaディレクティブをチェックしました。そこには絶対に提示されません。

アイデア?

+0

'gmp.lib'の名前を' gmp-vc100-mt-sgd.lib'に変更して何が起きたか確認しましたか? – karlphillip

+0

プロジェクト全体で "gmp-vc100-mt-sgd"の全文検索をしましたか?また、ビルドプロセス中にリンクに与えられた完全なコマンドラインをキャプチャする方法もあります。 –

+0

あなたはソリューションを生成するためにcmakeを使用していますか? – sloriot

答えて

0

わかりました。この問題はCGAL.libファイル内の/ DEFAULTLIBにあります。

Visual Studioが.libファイルをビルドしていて、#pragma comment指示文が出現すると、このライブラリをリンクする方法がいくつか残されていました。私が理解しているように、リンクするときにリンカにオプションの/DEFAULTLIBを使用するように指示するだけです。そして、リンカーは未解決の外部がなくても、このライブラリを検索リストに追加しようとします。

私はプロジェクトをビルドするときに#pragma commentディレクティブを削除しようとしていましたが、CGALプロジェクト自体をビルドするときに削除する必要がありました。後者は正常に動作します。

関連する問題