2010-11-22 143 views
1

我正在尝试使用MSVC++ 2010 Express Edition编译Scintilla控件,并且让它正常工作非常痛苦,因为我需要一堆文件。当编译SString.h,我注意到了这一点:#include <crtdll/stddef.h>是什么意思?

#include <crtdll/stddef.h> 

我没有C++程序员,但我不明白是什么

#include <xxx.h> 

手段,但是那又有什么包括什么意思呢?我与它下面的错误:

错误1个错误C1083:无法打开包含文件:“CRTDLL/STDDEF.H”:没有这样的文件或目录˚F\火花\词法分析器\ sstring.h 44

任何帮助我如何解决它将不胜感激。

+1

我*认为*这意味着`stddef.h`应该在`crtdll`目录下,在搜索标题的默认路径上,但是这样做已经有一段时间了。 – FrustratedWithFormsDesigner 2010-11-22 15:37:47

回答

1

如果我没有记错的话,这只是一个相对路径。换句话说,Visual Studio会在crtdll的子目录中寻找stddef.h,可能是项目的根目录。

+0

这也是我的想法,但我从未尝试过。谢谢。 – david 2010-11-22 15:48:26

0

这意味着需要从crtdll文件夹中包含stddef.h。

您需要检查Visual C++项目的包含目录,以查看哪些是Visual Studio查找头文件的默认目录。

要解决此错误,请参阅您安装Scintilla控件的路径。 crtdll文件夹将最有可能在那里。然后,将此文件夹添加到您的visual studio include目录中。

您可以在下面的项目属性对话框进行设置:

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

0

我没有C++程序员,但我不明白是什么

你确定吗? 包含<>搜索指定文件的包含路径,并将该文件的内容复制到.cpp文件中。 所以你只是错过了crtdll/stddef.h文件,但是stddef.h实际上属于C标准库,所以你可以用C中的#include或者C++中的#include代替它最简单的方法是检查你的include目录。 crtdll是由msvc提供的C标准库,所以也许你必须添加标准库包含目录的父文件夹

1

通过使用上述函数,你正在召唤,然后在你当前的源代码中插入一个头文件。

#include <crtdll/stddef.h>你会被插入从crtdll目录stddef.h头文件(这应该是在你的编译器定义为头文件握着笔子文件夹)程序的编译和链接期间的情况。

通过stddef.h头文件插入到你的源代码是给你的程序挥舞NULL指针常数,这是在一些你可能会或可能不会遇到更高级的程序非常有用的功能。

祝您的程序顺利!