2017-01-23 49 views
-1

私はVisual StudioのC++プロジェクトで作業しています。その大部分は他の人が設計したもので、単純なライティング外のコンピュータプログラミングに関する知識は限られていますクラスを使用してそれらを使用します。ソリューションエクスプローラには「外部依存関係」というフォルダがあり、それには大量の.hと.hppファイルが含まれていますが、.cppファイルはありません。C++プロジェクトフォルダ外部依存関係には.hと.hppファイルしか含まれていません

コードエディタで、外部依存関係フォルダ内のファイルで宣言された関数の関数呼び出しを含むコードブロックに移動し、その関数の右クリック>定義に移動すると、私を定義にではなく宣言に連れて行きましょう。それは、プロジェクトが.cppファイルがどこにあるか分からないかのようですが、そうでなければこれらの関数はうまくいかないでしょう。

どのような種類のフォルダが外部依存関係ですか?

Visual Studioでこれらのいずれかを設定して、コンパイラがプログラムで使用している関数の定義を認識するようにするプロセスは何ですか?

+0

名前が示すとおり、これらは外部定義されたオブジェクトのヘッダーファイルです。ライブラリコード(通常はDLLファイル)に実装された実装を持つWindows APIの可能性が高いです。あなたのマシンにないソースコードを見つけるためにVisual Studioを設定することはできません。実装を確認する必要がある場合は、アセンブリ言語を勉強する必要があります。 – IInspectable

+0

DLLはどこにありますか?彼らがどこにいるかVSにどのように伝えますか? – Sam

+0

Visual StudioはこれらのDLLを気にしません。それらは、[ダイナミックリンクライブラリの検索順序](https://msdn.microsoft.com/en-us/library/windows/desktop/ms682586.aspx)のどこかにあります。しかし、Visual Studioではインポートライブラリ(LIB)ファイルが気になります。どちらもあなたのソースコードを取得することはありませんが、それは明らかにあなたが後にしているものです。 – IInspectable

答えて

0

あなたの質問が正しく分かっている場合は、プログラムで使用しているメソッドに適切なヘッダーファイルを含める必要がありますか?私はあなたがまだ適切な#include指令をすべて持っている必要があると思います。だから、あなたが使用しようとしているクラスのメソッドへのアクセス権を持っているコンパイラを可能にするヘッダファイル

#include <library> 

または

#include "header_file.h" 

が含まれている場合。

ヘッダーファイルに実際の実装が含まれていない場合(クラスファイルを.hヘッダーファイルと.cpp実装ファイルに分割するのが一般的です)、インクルードディレクティブも.cpp実装に入れる必要がありますファイル。

関連する問題