包括库C ++

时间:2010-05-15 13:38:32

标签: c++ include

如何在C ++中正确包含库?我习惯用C ++和我自己的.h文件做标准库。

我正在尝试在code :: blocks和/或netbeans C / C ++插件中包含wxWidgets或GTK +。我已经包含了所有库,但是当它明确地出现在include中时,我经常会遇到错误,例如找不到文件!

一个错误:test1.cpp:1:24: wx/msw/wx.rc: No such file or directory:是的,包含.h文件库;我错过了什么?

我是否还需要导入其他内容?有没有这方面的教程?显然,我的劣质教科书并没有为此做好准备。

3 个答案:

答案 0 :(得分:2)

首先,头文件与库不同。标头是包含事物声明的C ++文本文件,而库是编译的二进制代码的容器。

当#include头文件时,编译器/ IDE需要知道在哪里找到它。通常有一个IDE设置告诉编译器在哪里查看,或者您可以从命令行执行此操作,通常使用-I开关。听起来好像你还没有设置在IDE中搜索头文件的路径。

答案 1 :(得分:1)

这意味着test.cpp包含“wx / msw / wx.rc”,但编译器无法找到该文件。如何解决这个问题取决于您的编译器,但您需要找到安装wxwidgets的位置并将其添加到“Include Paths”中,以便您的编译器知道在哪里搜索它。您还可以在include指令中为它添加更完整的路径。

如果文件与test1.cpp存在于同一目录中,那么可能使用了错误的include类型。 #include <...>通常用于驻留在项目所在目录之外的代码。#include "..."用于项目目录中的包含(如果在那里找不到它们,则在相同位置搜索如#include <>那样。

答案 2 :(得分:0)

这是一个很老的问题,这对我来说并没有真正回答它。

我将wxwidgets重新安装到根目录中,因为有人建议在名称中包含空格的目录中可能是问题的一部分。

然后我进入了项目&gt;构建选项&gt;搜索目录并删除所有指向原始安装的条目。

这解决了问题