2012-02-20 22 views
0

Microsoft Visual Studioのウォークスルーに従います。チュートリアル:Creating and Using a Dynamic Link Library、私は初心者です。ヘッダーファイルを参照してDLLを参照するアプリケーションを作成するときにエラーが発生する

しかし、私は理解して解決することが困難であるというエラーが続いています。

まず第一に、それはエラーがあったことを言い続けた:

warning C4627: '#include ': skipped when looking for precompiled header use 1> Add directive to 'StdAfx.h' or rebuild precompiled header

だから私はいくつかのオンライン検索を行なったし、私がラインに追加すべきと思われた:へ

#include "StdAfx.h"

。 cppファイル、MyExecRefsDll.cppをコードの先頭に置いてください。

それは、エラーを思い付いた:

fatal error C1083: Cannot open include file: 'MathFuncsDll.h': No such file or directory

私は、私が実際に使用したいヘッダファイルで、このヘッダファイル、のための参照が含まれています。 MyExecRefsDllプロパティページ\構成プロパティ\ C/C++ \一般的な、そして追加のは、私が持っているディレクトリを含める次に、C:..など.. \ DynamicLibrary \ MathFuncsDll MathFuncsDll.h

\

I私は、この参照の下を見ることができますプリコンパイルされたヘッダーを使用してオフにすることについて読んでください。これは私がする必要がありますが、私はどのようにするのか分かりませんか?

また、ダイナミックリンクライブラリの参照に.dllの代わりに.libを使用する方法についても読んでいます。私はこれを試してみました。 MyExecRefsDllプロパティページ\構成プロパティ\ Debugging、環境の隣にPATH = C:\ Users ...など... \ DynamicLibrary \ Debug \ MathFuncsDll.dll 代わりにファイル名の末尾を.libに変更しようとしましたが、何も変更されませんでしたが、MathFuncsDll.hファイルの検索で問題が発生しました。

どのように私は正常にソリューションを構築することができます私は動作するようにヘッダーファイルを取得することができますお勧めできますか?前もって感謝します。

+0

このチュートリアルの指示に正確に従っていないだけです。再びそれを行う。 –

+0

私はできる限り正確にウォークスルーをたどりました。もし私が何かを見逃しているとすれば、私は誤ってタイプするはずのもの、ひいてはエラーを理解しなければならないので、どこが間違っているのか分かりません。 – hde

+0

はい私は@HansPassantに同意します、 'hde'は正確な手順を守っておらず、環境変数PATHを変更する必要もありません。 MSDNチュートリアルの正確な手順に従ってください。正しいビルドタイプであるDebug/Releaseを設定していることを確認してください。両方を設定する方が良い! –

答えて

1

Visual Studioでは、ヘッダーファイルが見つからない場合にのみエラーが表示されます。それを解決するには、プロジェクトの設定を確認する必要があります。あなたの質問では、 "私は、C:.. etc .. \ DynamicLibrary \ MathFuncsDll \ MathFuncsDll.h"を参照してください。ここで、追加のインクルードディレクトリには、 "C:.." .. \ DynamicLibrary \ MathFuncsDll \ "となります。 ファイルが実際に存在することを確認し、現在のビルド構成に関連するプロジェクト設定を編集していることを再度確認します。つまり、Debug | Win32をビルドする場合は、そこに追加のインクルードディレクトリを変更する必要があります。

+0

私はActive Releaseビルドを持っており、デバッグタイプのビルドを変更しました。したがって、インクルードディレクトリのエラーが発生しました。今私のために働いた。 –

0

私は全く同じ問題を抱えていました。あなたが希望にナビゲートすることができるように

To reference the header files of the dynamic link library, you must modify the include directories path. To do this, from the Property Pages dialog, expand the Configuration Properties node, then the C/C++ node, and select General. Next to Additional Include Directories, type in the path to the location of the MathFuncsDll.h header file.

はここでVisual Studioがあなたの「参照」ボタンを与える:私はここに

VisualStudioを10のバグがウォークスルーから面倒なステップがあるであることを信じていますディレクトリを選択して選択します。これを行うと、パス全体がAdditional Include Directoriesに挿入されます。

しかし、これはまだ私のためには機能しません。

私はそれをコンパイルするために得ることができる唯一の方法は、相対パスを入力することでした:

.. \ .. \ MathFuncsDll \ MathFuncsDll \

-1

この問題に非常に簡単な解決策があります。

記載された指示に従ってください、そしてデモがエラーなしでビルドする必要があります「プリコンパイル済みヘッダーを使用しない」に「プリコンパイル済みヘッダー」属性の値を設定し
Project->Properties->Configuration Properties->C/C++->Precompiled Headers 

下のVisual Studio 2010で

関連する問題