2010-12-13 5 views
0

VS2010で動作するスタティックライブラリ(.libファイル)を取得しようとしていましたが、デバッグ設定で完全に動作しています。ただし、リリース構成でコンパイルしようとすると、エラーerror C1083: Cannot open include file: 'Library.h': No such file or directoryが表示されます。私は.libファイルとStatic Libraryと呼ばれる私のデスクトップ上のフォルダに.hファイルを持っているリリース構成(VS2010)でC++ライブラリがリンクしない

  • はここに現在のシナリオです。

  • 私は上記のフォルダを指しているINCLUDE環境変数を持っています(#include <Library.h>を使うことができます)。
  • 上記のフォルダにもLIB環境変数が設定されています。
  • .libファイルを追加の依存関係として追加し、追加の依存関係のためにディレクトリを設定しました。テストプログラムのための私のソースコードは次のようになります

#include <iostream> 
#include <Windows.h> 

#include <Library.h> 

int main() 
{ 
    std::cout << Library::GetValue(); // Returns 123. 
    Sleep(10000); 
    return 0; 
} 

私が間違って何をしているのだろうか?

+1

リリース構成のコンパイラ設定とパスを設定しましたか? (設定に応じて設定を変更することができます) –

+0

@Jamesそれは問題のようです。 2つの構成設定のセットをリンクする方法はありますか、それとも各プロジェクトごとに2回行うことを覚えておく必要がありますか? – Maxpm

+1

プロジェクト設定ダイアログの上部で、設定を変更する設定を選択できます。 1つのオプションは「すべての構成」(またはそのようなもの)です。 –

答えて

1

ないVS2010わから...しかし、デバッグ、おそらくモードを解除するには、別のライブラリの設定を持っている...

#pragma comment(lib, "library.lib") // no ; is needed 

それを指定することで、コードスルーリンクするコンパイラに知らせることができますデバッグとリリースの両方でリンクを作成します

+0

実際、デバッグとリリースの構成設定は独立しているように見えます。また、 '#pragma'は他のコンパイラでも動作しますか? – Maxpm

+0

私はそう信じています – oldSkool

関連する問題