2010-11-22 12 views
1

私はScintillaコントロールをMSVC++ 2010 Express Editionでコンパイルしようとしています。ファイルがたくさん必要なので、正しく動作させるのは非常に面倒です。 SString.hをコンパイルするとき、私はこれに気づいた:#include <crtdll/stddef.h>はどういう意味ですか?

#include <crtdll/stddef.h> 

私はC++プログラマ午前ませんが、私は何

#include <xxx.h> 

手段を理解しないが、含まれている何を意味するのでしょうか?私はそれで次のエラーを取得する:

エラー1エラーC1083: 'crtdll/STDDEF.H':ファイルのオープン含めることはできません\ ScintillaのFそのようなファイルやディレクトリはありませんが、\レクサー\ sstring.h 44

どれでもどのように私がそれを修正することができれば助けになるでしょう。

+1

I * think *これは 'stddef.h'が' crtdll'ディレクトリになければならないことを意味します。デフォルトのパスではヘッダを検索しますが、これを行ってからしばらくしています。 – FrustratedWithFormsDesigner

答えて

1

私は間違っていないよ場合は、それはただの相対パスです。つまり、Visual Studioはcrtdllサブディレクトリ(おそらくプロジェクトのルートディレクトリ)にあるstddef.hを探します。

+0

それも私が思ったものですが、私はそれを試したことはありません。ありがとう。 – david

0

これは、crtdllフォルダからstddef.hをインクルードする必要があることを意味します。

Visual C++プロジェクトのインクルードディレクトリを確認して、Visual Studioがヘッダーファイルを参照するデフォルトディレクトリを確認する必要があります。

このエラーを修正するには、Scintillaコントロールをインストールしたパスを参照してください。おそらくcrtdllフォルダがあります。次に、このフォルダをVisual Studioのインクルードディレクトリに追加します。

次のプロジェクトのプロパティ]ダイアログボックスでそれを設定することができます。

Here http://i56.tinypic.com/2zo9guh.jpg

0

私はC++プログラマ午前ませんが、私は何

を理解して、あなたはよろしいですか? は、<と一緒に指定されたファイルのインクルードパスを検索し、そのファイルの内容を.cppにコピーします。 したがって、crtdll/stddef.hファイルが欠けているだけですが、stddef.hは実際にC標準ライブラリに属しているため、Cで#include、C++で#includeと置き換えることができます 最も簡単な方法は、インクルードディレクトリ。 crtdllはmsvcが提供するC標準ライブラリですので、標準ライブラリの親フォルダを追加する必要があります。

1

上記の関数を使用すると、現在のソースコードにヘッダファイルを挿入します。あなたがあなたのプログラムのコンパイルとリンクの間に(ヘッダファイルの保持ペンとしてあなたのコンパイラで定義された子フォルダでなければなりません)crtdllディレクトリからstddef.hヘッダファイルを挿入します#include <crtdll/stddef.h>の場合

ソースにstddef.hヘッダーファイルを挿入すると、NULLポインタ定数を使用できるようにプログラムが提供されます。これは、高度なプログラムのいくつかで非常に役立ちます。

あなたのプログラムで幸運を祈る!

関連する問題