1

プロジェクトで libpng と libvorbis といういくつかの外部ライブラリを使用したいと考えています。Linux では、これらを喜んでビルドできます。構成ファイルを scons に追加するだけで、システムのインクルード パスの外でビルドする場合に追加の include/lib パスを許可できます。

ただし、MSVS 2010 は少しうるさいようです。

  • これらのライブラリのリリース バージョンのパスをユーザー プロパティ ページの VC++ ディレクトリに追加することはできますが、静的リンクでは機能しません (デバッグ バージョンはデバッグ構成に対してリンクする必要があるため)。
  • プロジェクトに絶対パスを追加できますが、これはプロジェクトが移植可能でないことを意味します。
  • libpng ディレクトリ (たとえば) を追加してからDebug\libpng.lib、リンカー入力に入れることができますが、シンボルが見つかりません。おそらく、\.

私の現在の解決策は、必要なすべてのライブラリを現在のプロジェクトのソリューション ディレクトリにコピーすることです。そこにハードリンクすることもできますが、これはばかげているようです。

プロジェクトの移植性を維持し、構成ごとに絶対インクルード/ライブラリ パスを参照するにはどうすればよいですか?

(たとえば、パスを意図的に .suo または .user ファイルに入れることができれば素晴らしいでしょう。)

4

1 に答える 1

1

ライブラリの相対パスを追加する場合は、先頭に「.\」を付けて、ベース プロジェクト ディレクトリから開始します。

".\Lib\Debug\libpng.lib"

または「..\」で親ディレクトリを参照します。

"..\Lib\Debug\libpng.lib"

ライブラリが親ディレクトリの親ディレクトリにある場合は、「..\」参照を連鎖させるだけでよいことに注意してください。

"..\..\Lib\Debug\libpng.lib"
于 2012-04-23T18:04:10.453 に答える