2012-05-03 21 views
3

私のC++コンソールアプリケーションプロジェクトに.libファイルとヘッダーファイルをリンクしようとしています。他のプロジェクトのC++ヘッダーファイルをコピーし、コンソールアプリケーションプロジェクトのHeader Filesフォルダに貼り付けました。 http://i.imgur.com/JFFIn.pngC++コンソールアプリケーションプロジェクトにヘッダーファイルを含めることができません

ただし、私のコードに#include...というヘッダーを挿入しようとすると、ヘッダーファイルの名前でインテリセンスが表示されません。 (私はtargetver.h、stdafx.hとDebugフォルダのみを参照してください)
Add additional include directories私のC++コンソールアプリケーションのプロジェクトプロパティでProjectフォルダ自体を指し示そうとしましたが、それは助けにはならず、ファイルはまだ表示されません表示されます。

私は#include "DllTest.h"としてヘッダファイルの名前を書いた場合、私はというエラーを取得:
Cannot open include file: 'DLLTest.h': No such file or directory c:\users\ht\documents\visual studio 2010\projects\dlltest\dlltestconsole\dlltestconsole.cpp

それが表示されて起動するように、ここに含まれるヘッダファイルでどのように?もし私がadd a new item > Header Fileであれば、それをDLLTest.hに命名し、ヘッダファイルの内容をここに貼り付けてコピーすれば、それは正常に表示されます。 Header Filesフォルダに貼り付けられたヘッダファイルがコードにどのように表示されますか?

+0

"DllTest.h"はプロジェクトのディレクトリにありますか? (例:dlltestconsole.cppの近く) – phantasmagoria

+0

@phantasmagoria:プロジェクトの下にある「ヘッダーファイル」にあります。表示されるスクリーンショットは次のとおりです。http://i.imgur.com/JFFIn.png – user1240679

+2

はい、ただし、ディスク上のファイルはどこですか? 「ヘッダーファイル」は実際にはフォルダーではなく、UIでの組織化にのみ使用される_filter_です。ディスク上の任意の場所にあるファイルをそのフィルタに追加することができます。コンパイラはフィルタについては何も知らず、ディスク上の位置のみを知っています。それが置かれているフォルダが "追加インクルードディレクトリ"に存在することを確認する必要があります。 –

答えて

3

C++プロジェクトでは、ソリューションエクスプローラでフォルダのように見えるものは実際にはフォルダではなく、フィルタです。 IDE内のプロジェクト項目を整理するために使用できるUIのみのエンティティです。しかし、彼らは決してディスク上のアイテムの構造や場所を反映していません。ディスク上の任意の場所にあるファイルをソリューション内の任意のフィルタに追加できます。

コンパイラはこれらのフィルタを認識しません。ディスク上に存在するファイルのみを認識します。

あなたの場合、ファイルはプロジェクトフォルダにありません。あなたがする必要があります、次のいずれか

  • が、その後、プロジェクトフォルダにファイルをコピーして、そこからプロジェクトに追加します(その後、ソリューションを右クリックし、既存項目の追加)、または

  • 追加それらの場所からのファイルを開き、プロジェクトプロパティの[追加のインクルードディレクトリ]プロパティにその場所を追加します。

プロジェクトにコピーしてプロジェクトに貼り付けるときにIDEがファイルを自動的にプロジェクトディレクトリに移動させる方法がわかりません。 C++プロジェクトシステムは、C#およびVBで使用されるプロジェクトシステムとは根本的に異なります。

+0

私は "C++プロジェクトは基本的にC#とは違います"というメモが気に入っています。 – Gqqnbig

関連する問題