2012-04-23 22 views
1

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

しかし、MSVS 2010ビットpickierのようだ:

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

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

私のプロジェクトをポータブルに保つために、絶対にinclude/libパスを参照するにはどうすればよいですか設定ごとに

(故意に.suoまたは.userファイルにパスを置くことができるであることは例えば素晴らしいだろう。)

答えて

1

、あなたのライブラリの相対パスを追加したい場合は、それらを序文「\」基本プロジェクトディレクトリから開始します。

".\Lib\Debug\libpng.lib" 

または ".. \"は親ディレクトリを参照します。あなたのライブラリが親ディレクトリの親ディレクトリに配置された場合、その後、あなたは「.. \」の参照をただ一緒に連鎖することができますことを

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

注:

"..\..\Lib\Debug\libpng.lib" 
+0

私はすでに相対パスを使用し、私がしたいですそれはプロジェクト単位ではなく絶対パスを行う方法を知っている。 – Ricky26

+0

「ツール - >設定 - >プロジェクトとソリューション - > VC++ディレクトリ」にナビゲートして、Visual Studioのグ​​ローバル設定で絶対ライブラリパスを設定できます。 これは、一般に使用されるSDKを実装するプロジェクトでは、さまざまなコンピュータの別の場所にインストールできるという点では、かなり一般的な方法です。それはあなたが話していることですか?もしそうなら、私は答えとして再投稿するでしょう。 – BTownTKD

+0

これはVS2010で削除されましたが、設定ディレクトリごとに許可されていないため、静的リンクでも機能しません。 – Ricky26

関連する問題